【问题标题】:SSH Connection from server to another one without private key passphrase从服务器到另一台服务器的 SSH 连接,无需私钥密码
【发布时间】:2016-05-30 03:01:06
【问题描述】:

我正在尝试建立从 ServerA 到 ServerB 的 ssh 连接,无需密码,而 ssh 连接不断要求我输入私钥的密码。

这是我的配置:

服务器A

/home/user/.ssh 文件夹有一个 CHMOD:rwx------,归 user:user 所有

文件 /home/user/.ssh/id_rsa.pub/home/user/.ssh/id_rsa 有一个 CHMOD:-rw------- 并且归 user:user 所有

服务器B

我在 ServerB 上创建了一个用户 serverA。 文件夹/home/serverA/.ssh 有一个 CHMOD: drwx------ 并归 serverA:serverA 所有

文件/home/serverA/.ssh/authorized_keys包含ServerA上用户的公钥,并有一个CHMOD:-rw-r-----

在文件/etc/ssh/sshd_config 中我添加了以下几行:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

但是,当我在 ServerA 上并尝试输入: ssh ServerA@ServerB,它要求我输入我的私钥的密码。当我给它时,我就建立了联系。

您知道如何避免每次都输入 ServerA 的密码吗?

【问题讨论】:

    标签: linux ssh centos


    【解决方案1】:

    当您运行 ssh-keygen 时,您必须为证书提供密码短语。不必输入密码短语,只需在该问题上按 Enter 即可设置一个空的。

    【讨论】:

    • 这肯定会奏效。但是我不确定这是一个好习惯。当我尝试从我的个人计算机通过 SSH 连接到服务器时,我使用没有任何密码的 ssh 密钥,并且它可以工作(即使我在执行 ssh-keygen 时输入了密码)。
    • 您可能已经设置了ssh-agent,但我不确定它如何与脚本连接一起工作
    【解决方案2】:

    您可以使用ssh-agent,它会在指定时间内“记住”您的密码。简而言之:

    eval `ssh-agent` # start ssh-agent
    ssh-add /path/to/your.key # remeber the key
    ssh ServerA@ServerB  # will not ask for a passphrase
    

    有关更多信息,请查看有关 ssh-agent 或其手册页的更多问题。

    【讨论】:

      猜你喜欢
      • 2017-12-17
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2016-09-02
      • 1970-01-01
      • 2015-07-23
      相关资源
      最近更新 更多