现有2台机器
1、服务器192.168.1.112
2、个人机192.168.1.110
要使110无需密码通过ssh登入112
步骤
1、创建密钥
miao@u32-192-168-1-110:~/.ssh$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): (忽略) Enter same passphrase again: (忽略) Your identification has been saved in /home/miao/.ssh/id_rsa. Your public key has been saved in /home/miao/.ssh/id_rsa.pub.
2、复制公密到服务器
miao@u32-192-168-1-110:~/.ssh$ scp id_rsa.pub miao@192.168.1.112:/home/miao/.ssh/192.168.1.110 miao@192.168.1.112's password: id_rsa.pub 100% 404 0.4KB/s 00:00 miao@u32-192-168-1-110:~/.ssh$
3、添加公密到192.168.112的信任区域
miao@debian-192-168-1-112:~/.ssh$ cat 192.168.1.110 >> authorized_keys miao@debian-192-168-1-112:~/.ssh$
注: 2,3两步可由命令ssh-copy-id一步到位
miao@ubuntu-192-168-1-110:~/.ssh$ ssh-copy-id miao@192.168.1.112 Password: Now try logging into the machine, with "ssh 'miao@192.168.1.112'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
4、启动ssh-agent
如果ssh 192.168.112返回 Agent admitted failure to sign using the key
ps -Af|grep agent查看有无ssh-agent有无运行,若没有
miao@u32-192-168-1-110:~/.ssh$ ssh-agent
5、添加id_rsa到ssh-agent
miao@u32-192-168-1-110:~/.ssh$ ssh-add id_rsa
6、完成
多谢你的文章,我不知道ubuntu还要启动一个ssh-agent,ubuntu有点弱啊,呵呵
熟悉了就不弱了 :)
很巧,跟我名字一样,连字都一样,^_^,谢谢你的文章,不知道还要 ssh-add id_rsa,囧。
:)
多谢了
ubuntu确实要ssh-add id_rsa
就说一直怎么不成功呢
解决问题了,非常感谢!
本文第四节“4、启动ssh-agent”里面的
“ps -Af|agent查看有无ssh-agent有无运行”
应该是ps -Af |grep agent吧
多谢纠正,已更正。
第3步应该是
$ cat id_rsa.pub >> authorized_keys
不是,id_rsa.pub是本机的公钥,而要加入authorized_keys是远程的机器,我这里是192.168.1.110
多谢阿,连接
ubuntu中为什么连接的时候输入的命令是:ssh 用户名@ip地址才行。ssh ip地址就是不行呢?
不加用户名意为使用当前用户名。
这是ssh-agent错误的用法,你这种用法中,不起ssh-agent进程同样可以无密码登录。ssh-agent是用来让你免于频繁输入 ssh-keygen 时设置的密码短语的。
多谢指教,当时用的Ubuntu 9.04,遇到错误Agent admitted failure to sign using the key,用ssh-add可以解决问题,而ssh-add需要ssh-agent运行,否则会出Could not open a connection to your authentication agent.
。
在Debian 5+与ArchLinux中正如你所说,我也从来没遇到Agent admitted错误也就跳过4与5的步骤了。
又刚刚在ArchLinux下试了下,ssh-agent需要新开shell才能启用,如ssh-agent bash。ssh-add -l显示为空。也意味着未ssh-add过任何密钥。我对ssh没有深入的研究过,也不好下判断是否是ssh版本间差异所致还是配置上所致。