首页 > Linux > Linux服务器之间ssh无密码登陆

Linux服务器之间ssh无密码登陆

2012年7月26日 发表评论 阅读评论

要在一台Linux上ssh到另外一台Linux服务器,而不需要每次都输入密码,其实很简单。比如要从A服务器登录到B服务器,那么首先在A服务器上生成公钥和私钥,用RSA加密算法:

[root@test awstats]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9c:74:d0:05:48:c8:43:84:a8:44:8f:b6:a1:2f:8c:91 root@test.banping.com
[root@test awstats]# cd /root/.ssh/
[root@test .ssh]# ll
-rw——- 1 root root 1675 10-12 10:15 id_rsa
-rw-r–r– 1 root root 397 10-12 10:15 id_rsa.pub
-rw-r–r– 1 root root 1972 08-15 19:50 known_hosts
可见这里的id_rsa和id_rsa.pub就是私钥和公钥了,把公钥的内容放到B服务器的指定位置就可以了。

放到哪里呢?对应登录用户的home的.ssh目录下,文件名一般为authorized_keys,其实这个名字是任意的,是写在sshd_config文件里的:

[root@web-04 .ssh]# cd /etc/ssh

[root@web-04 ssh]# vi sshd_config

AuthorizedKeysFile .ssh/authorized_keys

这个authorized_keys文件可以放置多个其他服务器的公钥,如果你想让多台服务器都能无需输入密码就登录上来,把它们的公钥放这里就行了。不过安全第一,切不可为了省事而忽略了安全的问题。

分类: Linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.