历尽艰辛的putty免密码SSH登陆服务器的配置

  前段时间在虚拟机上装了个CentOS,然后用puttyl连接上去操作,为了方便,不用每次登陆输入密码,我就想配置用密钥免密码直接登陆,下面是配置过程:

  1、在服务器的用户目录下建立一个文件夹.ssh,注意有一个句点,用来存储密钥用。

  2、生成密钥,然后用如下命令:

ssh-keygen -t rsa

  生成的过程中先会问你要存成什么文件,直接回车用默认的,就是储存在上一步建立的.ssh目录里。

  然后会让你输入passphrase(即口令,如果设置了,登陆时要输入这个口令),可以为空。最后会生成两个文件id_rsa和id_rsa.pub。

  3、公钥文件名authorized_keys。进入.ssh目录,用如下命令生成:

cp id_rsa.pub authorized_keys

  如果你不想保留id_rsa.pub,也可以直接用mv命令。

  4、更改文件权限,以用户root为例:
chmod 700 /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

  用户目录root的权限设置一般会被忽略掉,导致登陆时日志文件/var/log/secure里会有这样的信息:
Authentication refused: bad ownership or modes for directory /root

  我就是在这里吃了亏,到处找解决方案,不断地尝试各种权限设置,有人说是Selinux造成的,于是我也去关闭,同样不行,最后还是设置了用户目录的权限才成功。

  5、SSH服务的配置。更改配置文件/etc/ssh/sshd_config,找到以下三行:

XML/HTML代码
  1. #RSAAuthentication yes  
  2. #PubkeyAuthentication yes  
  3. #AuthorizedKeysFile      .ssh/authorized_keys  

将前面的#删除,其中第三行的authorized_keys一定要确认与第3步里生成的文件名一致。保存后重启SSH服务:
service sshd restart

  6、PuTTY上的私钥配置

  由于CentOS是OpenSSH,生成的私钥与putty和格式不同,所以不能直接拿来使用,先把第2步中在服务器上生成的私钥文件id_rsa下载到本地,然后用PuTTYgen转换一下:用菜单File->Load private key导入私钥文件id_rsa,然后点击Save private key,保存好的新私钥文件就能用来给PuTTY登陆使用了。PuTTY的具体设置我就不说了,不过有个方法可以方便使用,建立一个PuTTY快捷方式,然后更改快捷方式的属性里的目标一栏加上如下参数:
-i "私钥文件路径" root@192.168.10.60

保存后就能直接双击这个快捷方式登陆了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注