如何使2个Linux机器不需要密码就可以彼此接受ssh连接

我需要创build一个cron脚本,将scp所有日志从一台机器日志parsing机器,但是当我scp我被要求插入一个密码。 通常,当我使用Putty连接到服务器时,我使用了pageant和Putty来允许代理转发,当我select要连接的计算机时,它将打开一个腻子窗口,让我直接进入shell而不需要插入密码。 在我将rsa公钥插入到每台机器上的.ssh / authorized_keys文件后,会发生这种情况。

我想这样做,但在两台服务器之间。

编辑:我不知道为什么它被拒绝…我认为这是一个合法的问题。 请告诉我,我做错了什么:

 [root@search-uk-1 .ssh]# 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: ca:ab:4d:95:a4:ee:47:67:0c:e1:23:f3:73:46:67:7e [email protected] The key's randomart image is: +--[ RSA 2048]----+ | | | . | | ... | | oo+.. o | | .+S= + | | o o+ * . E | | =. * . | | + .. | | ..+. | +-----------------+ [root@search-uk-1 .ssh]# ssh-copy-id root@sawmill root@sawmill's password: Now try logging into the machine, with "ssh 'root@sawmill'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [root@search-uk-1 .ssh]# ssh root@sawmill Enter passphrase for key '/root/.ssh/id_rsa': Last login: Mon Nov 5 11:32:33 2012 from search-uk-1.int.incredimail.com [root@sawmill ~]# exit logout Connection to sawmill closed. [root@search-uk-1 .ssh]# ssh root@sawmill Enter passphrase for key '/root/.ssh/id_rsa': 

即使我从.pub文件复制RSA密钥,并将其粘贴到远程机器.ssh / authorized_keys它仍然不断要求我input密码。

谢谢

我很简单。 使用ssh-keygen -t rsa在机器上生成您的rsa_id

之后,只需执行ssh-copy-id login@secondmachine把密码这一切。 之后,你应该可以login不用密码从一台机器到另一台(如果你想login,没有两台机器的密码,那么你应该在第二台机器上做同样的步骤)。

但也许你应该考虑使用rsync来完成这个工作。 在cronjobs中使用rsync的密码对于环境variablesUSER和RSYNC_PASSWORD非常简单。 把这个放在你的脚本中

 export USER=nameofrsyncuser export RSYNC_PASSWORD=password 

之后,任何rsync命令将使用这个variables。 因为rsync用户不是系统用户,所以更安全。 你将不得不configurationrsync服务器,但它非常简单。 您可以通过在rsyncconfiguration中使用主机允许指令来保护rsync共享。

在每个服务器上用户帐户运行ssh-keygen (小心不要覆盖)。 这将在〜/ .ssh中生成公钥和私钥ssh密钥。 取其名为id-rsa.pub的密钥,并将其放入其他服务器的〜/ .ssh / authorized_keys文件中。 反之亦然。