linux下实现ssh授权、无密码登录

来源:互联网 发布:lua for windows 64位 编辑:程序博客网 时间:2024/05/21 20:56
ssh授权涉及到了密钥,一个私钥一个公钥,用来验证。生成并分发你自己的密匙有两个好处:
    1) 可以防止“中间人”这种攻击方式

    2) 可以只用一个口令就登录到所有你想登录的服务器上

现在假设需要从客户端A机登录到服务器B机,同时我们假设在A机上使用用户user进行登录,就需要做以下几步即可实现:
    1、在A机上user用户下,执行ssh-keygen命令,如果是ssh1就不带参数,系统会提示:
         Generating public/private dsa key pair.
         Enter file in which to save the key (/home/user/.ssh/id_dsa):
         [直接Enter就是了]
         Enter passphrase (empty for no passphrase):
         Enter same passphrase again:  
         [这个地方就是设置使用什么密码进行登录,无密码登录直接Enter就是了]
         Your identification has been saved in /home/user/.ssh/id_rsa.
         [这个就是你的私钥]
         Your public key has been saved in /home/user/.ssh/id_rsa.pub.
         [这个就是你的公钥]
     2、好了,现在就可以把你的公钥交给你要登录的B机了,把id_rsa.pub文件拷贝到B机上对应的/home/user/.ssh/目录下,并且改名为authorized_keys,记得把权限设置成644,否则ssh不会正常验证
     3、ok,完成,是不是很简单。现在测试一下,在A机上ssh B,直接就登录了,没有密码输入的提示

注意:如果出现Agent admitted failure to sign using the key错误时,解決方式 使用 ssh-add 指令將私鑰 加進來 (根据个人的密匙命名不同更改 id_rsa)
# ssh-add   ~/.ssh/id_rsa

------------------------------------------------------------------------------------------------------------------------------

PS:其实最简单的方式是,在客户机执行ssh-copy-id "root@192.168.1.1 -p2222"。输入root帐号验证密码就可以建立信任关系了。

原创粉丝点击