Linux ssh无密码访问是由服务器和客户端两端的配置来实现的,这部分先介绍在服务器端的配置。本文是由网上文章总结出来的,和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。
服务器 名字为s 客户端 名字为c
1 生成密钥对,简便起见,在c上来生成,一下操作我用的都是root,你也可以用普通用户
ssh-keygen -t dsa
ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
c3:84:4d:24:64:c4:9d:2b:76:1a:6f:7e:dc:1a:60:23 root@fedora3
其中id_dsa是私钥,id_dsa.pub是公钥,私钥保留在客户端本地,公钥要复制到你要ssh登录的服务器上
2 配置公钥
在c上复制公钥到服务器a
scp ~/.ssh/id_dsa.pub a:/tmp
ssh a
cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys
rm -rf /tmp/id_dsa.pub
这时候可以用密钥对认证从c登录a了
3配置无密码登录
在客户端c上执行
eval `ssh-agent`
Agent pid 6054
`是TAB键上面那个键不是单引号
然后执行
ssh-add
ssh-add
Enter passphrase for /root/.ssh/id_dsa: 输入密钥对的密码
Identity added: /root/.ssh/id_dsa (/root/.ssh/id_dsa)
这时你就可以从c用ssh无密码访问a了。这样我们完成了Linux ssh无密码访问的服务器配置。
【编辑推荐】