English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    SSH密钥登录让Linux VPS/服务器更安全

    2011年01月10日 上午 | 作者:

    随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加强,如果你安装过DenyHosts并设置过邮件提醒,你每天可能会受到数封DenyHosts Report将前来破解SSH密码的IP加入/etc/hosts.deny。

    Linux SSH登录有两种:

    1、使用密码验证登录

    通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。

    2、使用密钥验证登录

    基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。

    一、生成密钥

    因为puttygen生成的密钥有问题可能会出现:“Server refused our key”,最好使用XShell生成密钥或者在远程Linux VPS/服务器生成密钥。

    1、在Linux远程服务器生成密钥:

    登录远程Linux  VPS/服务器,执行:
    root@vpser:~# ssh-keygen -t rsa //先运行这个命令
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):                   //直接回车
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase):                                    //输入密钥密码
    Enter same passphrase again:                                                                 //重复密钥密码
    Your identification has been saved in /root/.ssh/id_rsa.         //提示公钥和私钥已经存放在/root/.ssh/目录下
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    15:23:a1:41:90:10:05:29:4c:d6:c0:11:61:13:23:dd root@vpser.net
    The key's randomart image is:
    +--[ RSA 2048]----+
    |=&@Bo+o o.o      |
    |=o=.E  o . o     |
    | .    .   .      |
    |         .       |
    |        S        |
    |                 |
    |                 |
    |                 |
    |                 |
    +-----------------+
    root@vpser:~#
    将/root/.ssh/下面的id_rsa和id_rsd.pub妥善保存。

    2、使用XShell生成密钥

    Xshell是一款Windows下面功能强大的SSH客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理等等,管理比较多的VPS/服务器使用XShell算是比较方便的,推荐使用。

    下载XShell,安装,运行XShell,点击菜单:Tool ->User Key Generation Wizard,出现如下提示:

    点击Save as file将密钥保存为id_rsa.pub。

    二、将密钥添加到远程Linux服务器

    1、用winscp,将id_rsa.pub文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys(如果是在Linux服务器上生成的密钥直接执行:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys),再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。

    2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。

    3、重启sshd服务,Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart

    三、客户端测试使用密钥登录

    1、使用putty登录

    putty使用的私钥文件和Linux服务器或XShell的私钥格式不同,如果使用putty的话,需要将Linux主机上生成的id_rsa文件下载的本地。运行putty压缩包里面的puttygen.exe,选择Conversions->Import key选择私钥文件id_rsa,输入密钥文件的密码,会出现如下界面:

    点击“Save Private Key”,将私钥保存为id_rsa.ppk

    运行putty,在Host Name填写:root@主机名或ip

    如果设置了密钥密码,出现:Passphrase for key "imported-openssh-key"时输入密钥密码。

    如果设置没问题就会登录成功,出现用户提示符。

    2、XShell登录

    运行XShell,选择菜单File->New,按如下提示填写:

    打开创建好的Session

    如果设置没问题就会登录成功,出现用户提示符。

    3、Linux客户端登录测试

    在Linux客户端执行:chmod 600 /root/id_rsa 再执行:ssh root@www.vpser.net -i /root/id_rsa /root/id_rsa为私钥文件,第一次链接可能会提示确认,输入yes即可,再按提示输入密钥密码,没有问题就会出现用户提示符。

    四、修改远程Linux服务器sshd服务配置

    1、修改/etc/ssh/sshd_config 文件

    将PasswordAuthentication yes 修改成 PasswordAuthentication no

    2、重启sshd服务

    Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart。

    ok,设置完成。

    再提醒一下一定要保存好Putty私钥文件id_rsa.ppk或Linux服务器下载下来的id_rsa私钥文件。

    原创文章,谢绝转载!

    >>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/security/linux-ssh-authorized-keys-login.html
    VPS侦探推荐:
    遨游主机DiaHostingLinodePhotonVPSOAH新加坡VPSLOCVPSKVMLAVPS2EZBudgetVMVultr美国VPS主机
    欢迎加入VPS侦探论坛交流:https://bbs.vpser.net

    发表评论

    *必填

    *必填 (不会被公开)

    3 + 9 = ?

    评论(16条评论)

    1. puttygen可以生成密钥,并不会出现“Server refused our key”,只需要执行mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys2 就行了!

    2. 在Linux远程服务器生成的密钥,如果要更换还可以按照这个步骤来吗?

      VPSer 回复:

      @小飞侠, 如果是vps且有console的话可以直接弄,没有或是独立服务器的话最好是先保留密码登录,调试好后再开启密钥登录。

    3. 2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。 中的PubkeyAuthentication找不到呢?这是怎么回事呢??

      VPSer 回复:

      @呆和尚, 应该是都会有,没有添加上试试。

    4. 军哥,我设置了一下,发现可以登陆了,但同时还可以选择上面那个passwd那个圈圈 输入root的密码也可以登陆。怎么回事?

      VPSer 回复:

      @silay, 应该没禁用密码登录或没有重启sshd服务

    5. 搞定了,谢谢!

      顺便提一下,官网的puttygen(包括文章里提供的)导入openssh制作的key出错,改用从winscp安装包里的putty跟就可以了。

    6. 杯具了,网站还没备份呢,又没有装ftp

    7. 设置密匙登陆碰到问题了
      一开始我根据上面步骤在Linux远程服务器生成密钥,客户端测试使用密钥登录,使用putty密匙登录没有成功,却能用root登陆,当时没在意,就转到第四步:将PasswordAuthentication yes 修改成 PasswordAuthentication no ,还把前面的#号也给去掉了,现在ssh登陆不上
      用root用户名登陆,提示:Disconected:No supported authentication methods available
      用密匙方式登陆,putty窗口显示login as,,输入root,提示Disconected:No supported authentication methods available
      不知道怎么回事,是不是密匙设置没成功,还是修改/etc/ssh/sshd_config 文件出的问题,密匙我都下载下来了
      怎么办,帮帮忙吧

      VPSer 回复:

      @kolong, 登录前,选上私钥文件了没?可以先用vps的console这个功能登录vps,修改回原来的配置。

    8. [...] 手机管理VPS/服务器 - 放心回家过年 2011年01月26日 上午 | 作者:VPSer春节将至不少站长们即将或已经踏上回家的路,回家之后如果没有宽带和电脑处理网站或服务器出现的问题就会比较棘手。随着手机的发展,手机基本上可以称为一台“小电脑”了,比如我用的摩托罗拉XT502,Google Android系统、配备了主频为600MHz的CPU、512MB ROM和256MB RAM。其他的iPhone之类的手机配置更高。下面VPS侦探主要介绍一下如何在手机上管理网站和服务器,由于手头只有Android系统的所以主要还是以Android为主。一、Android篇1、SSH远程管理工具:connectbot如果使用密码方式登录,直接在下面输入用户名@主机名:端口 链接即可。如果使用的是密钥登录,需按一下步骤:运行Connectbot后点击“菜单”键选择“管理公钥”密钥文件需要保存在SD卡根目录,并且后缀改为.bak,选择id_rsa_1024.bak 文件。输入密钥的密码就登录成功了。2、FTP工具:AndFTP点击“添加”即可添加站点:3、浏览器:推荐使用自带的google浏览器或UC浏览器一般还是比较喜欢用Android自带的google浏览器,web网站和wap网站基本上支持的都比较好,可以直接登录Linode后台进行管理(有个Linode后台的管理工具,但是linode后台更新后,不少功能存在问题),注意:访问web网站流量会比较大。4、Wordpress管理工具虽然有官方的WordPress Android工具,但据说不是太好用。二、Windows Mobile篇1、SSH远程管理工具:Token2Shell Mobile2、FTP客户端:Mobile FTP Client其他的平台因为没有设备,没有使用经验,欢迎补充。注意:请从正规官网或者手机软件下载站下载软件,放在恶意软件造成扣费。本文原创,谢绝转载! >>转载请注明出处:VPS侦探 本文链接地址:http://www.vpser.net/manage/mobile-manage-vps-server.html相关文章:Linode超级优惠,赠送$100,000 前1000名新客户每人100美元Linode VPS 使用1年评价Linode VPS开放测试新版控制面板DiaHosting Fremont He.net新机房VPS测试(与Linode同机房)Linode 7周年,内存升级Linode VPS PPTP VPN 安装配置教程Linode VPS 添加多IP/设置静态IP(Kloxo no_ip_address解决方法)Linode与攻击Google的黑客无关向大家推荐几个对中国线路优化比较好的机房Linode 购买、安装、测试、配置教程google_ad_client = "pub-3421055613838817"; /* 468x15, 创建于 10-1-6 */ google_ad_slot = "3251390416"; google_ad_width = 468; google_ad_height = 15; 发表评论(评论暂缺) 分类:VPS管理维护 标签: andftp, Android, connectbot, linode, windows mobile, XT502, 手机 Tags: andftp,Android,connectbot,linode,windows mobile,XT502,手机.VPS侦探推荐: DiaHosting、Linode、PhotonVPS、VPSYou、瑞豪开源、第九主机等美国VPS主机。 欢迎加入VPS侦探论坛交流:http://bbs.vpser.net发表评论姓名: *必填邮件: *必填 (不会被公开)网站: 点击取消回复/* */ var commentformid = "commentform"; var USERINFO = false; var atreply = "authorlink"; /* */ 关于VPS侦探 VPS侦探是一个致力于美国VPS主机推荐、国内VPS主机推荐、VPS主机架设、VPS优化、VPS优惠信息及VPS免费试用的信息共享平台,这里将提供您所需要的关于VPS的价值性服务。 请尊重作者的劳动成果,转载请注明出处。 联系我们VPS侦探推荐 本站建立在Linode和DiaHosting上。 本站强烈推荐:DiaHosting、Linode、PhotonVPS、瑞豪开源、VPSYou、第九主机等美国VPS主机。美国VPS/服务器/VPN代购: http://shop63846532.taobao.com/ http://503228080.paipai.com/代购联系: 搜索本站内容 [...]

    9. mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

    10. 军哥,你这个教程不够严谨哦。如果用PuTTY生成密钥的话,会出现“Server refused our key”错误的,所以还是用ssh-keygen比较好吧?

      VPSer 回复:

      @暗の世界, 多谢提醒

    11. 不错

      现在linux的 安全越来越重要了