Saturday, August 28, 2010

如何不用输入密码ssh链接

在使用crontab定时执行程序,其中运行完后需要向另一台服务器拷贝数据。用scp时总提示需要输入密码,如何不用输入密码呢?使用ssh-keygen搞定!
假设我是从服务器A(ip为172.17.10.8)到B(ip为172.17.10.9)。
1、使用ssh-keygen 命令生成密钥,一路回车即可。
在服务器A上
[zhj@localhost ~]$ cd ~/.ssh/
[zhj@localhost .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zhj/.ssh/id_rsa):
/home/zhj/.ssh/id_rsa already exists.
Overwrite (y/n)? y //如果生成过,则会提示是否覆盖,敲y回车继续。
Enter passphrase (empty for no passphrase): //不用输,直接回车
Enter same passphrase again: //不用输,直接回车
Your identification has been saved in /home/zhj/.ssh/id_rsa.
Your public key has been saved in /home/zhj/.ssh/id_rsa.pub.
The key fingerprint is:
8f:73:86:07:ff:5f:b2:7c:30:a4:ab:41:26:06:ce:83 zhj@localhost.localdomain

2、把这个密钥对中的公共密钥(id_rsa.pub)然后复制到服务器B上去,并改名为 authorized_keys
[zhj@lse .ssh]$ scp id_rsa.pub zhj@172.17.10.9:~/.ssh/authorized_keys

这样,在从服务器A到B使用ssh时,也不用输入密码了,真省事。

同理,如果从服务器B到服务器A也不输入密码,则在B上生成公共密钥,将id_rsa.pub拷贝到A的.ssh目录下,重命名为 authorized_keys,如果有多个服务器之间实现无密码访问,则将id_rsa.pub追加到authorized_keys文件中即可。

No comments:

Post a Comment