如何使用RSA密钥登陆ssh

来源:互联网 发布:六度空间理论知乎 编辑:程序博客网 时间:2024/05/22 12:57

http://tank.blogs.tkiicpp.com/2011/03/23/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8rsa%E5%AF%86%E9%92%A5%E7%99%BB%E9%99%86ssh/

作为一个unix/linux小白,今天折腾了下ssh登录,使用rsa,不再需要输入密码了,具体步骤如下:

  1. 在本机(客户端)生成rsa密钥
    1. ssh-keygen -t rsa  

    这个命令会要提示三次输入:
    1、第一次是存储rsa密钥的文件名称,默认的是id_rsa,可以直接回车使用默认的,也可以自己定义新的名称,最好还是放到.ssh目录下就可以了;
    2、第二次是输入密码,最好输入一个密码,虽然可以为空(mac os下,请记住这个密码,第一次使用时需要输入)
    3、第三次确认一次密码即可
    生成的密钥文件有两个,以默认的为例,将会有一个id_rsa和id_rsa.pub,以.pub结尾的就是公钥,另外一个是密钥

  2. 添加rsa公钥到服务器上
    使用scp将.pub文件复制到服务器上,使用如下命令添加新的密钥

    1. cat id_rsa.pub >> ~/.ssh/authorized_keys  

    然后通过重启sshd就可以了

    1. /etc/init.d/sshd restart  

    不同平台重启命令可能不同,可以参考http://www.cyberciti.biz/faq/howto-restart-ssh/

PS: 如果在设置好了这些还是提示要密码登录,请检查ssh是否打开了rsa验证的设置,具体包括:

  1. 在/etc/ssh/sshd_config中将以下注释去掉(去掉行首的#号)
    1. RSAAuthentication yes  
    2. PubkeyAuthentication yes  
    3. AuthorizedKeysFile      .ssh/authorized_keys  
  2. 在/etc/ssh/ssh_config中添加下面两句到host下:
    1. Protocol 2  
    2. RSAAuthentication yes  

再次重启下sshd就可以了,第一次使用rsa登录时mac os会弹出提示要输入rsa的密码,就是在创建rsa密钥时指定的。

Enjoy!

 

参考资料:http://news.softpedia.com/news/How-to-Use-RSA-Key-for-SSH-Authentication-38599.shtml

 ==Another Article========================================================

http://wiki.chinaunix.net/Ssh_rsa

ssh如何利用RSA公钥进行远程登录验证

1、本地机器生成密钥

$ssh-keygen -t rsa

生成基于ssh协议第二版密钥,如果还是用rsa1,该升级了。

2、复制生成的id_rsa.pub公钥文件到远程服务器,简单的用:

$scp id_rsa.pub bsduser@192.168.1.188:mykey.pub

3、密码登陆远程服务器:

$ssh 192.168.1.188 -l bsduser

这里注意不是cp,而是cat;不是">",而是">>"的操作:

%cat mykey.pub >> $HOME/.ssh/authorized_keys

4、重启sshd

#/etc/rc.d/sshd restart

5、此时进行登录测试:

$ssh bsduser@192.168.1.188

成功,则可以不用输入繁琐和易泄露的密码。但是条件是你要保护好自己的密钥文件信息。

 

原创粉丝点击