Centos ssh 需要 -i 连接

Centos ssh 需要 -i 连接

我目前正在尝试使用另一台 (master) 的 ssh 访问远程主机 (假设为 node1)。由于 ssh-copy-id 不起作用,我手动执行了此操作。

我在本地机器上使用 ssh-key-gen 生成了密钥对(无密码)。然后我将私钥上传到远程主机(创建~/.ssh/id_rsa

然后我进入我的node1并在authorized_key中添加公钥

因此我可以通过输入以下命令从 master 连接到 node1 ssh -i .ssh/id_rsa user@node1

不过我希望能够通过输入进行连接, ssh user@node1 但我收到了错误

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

我认为这个错误是由于我没有使用密钥而引起的。

我怎样才能做到这一点?

PS:实际上,这部分脚本用于自动配置从主节点到节点 1 的访问,因为我将安装 Openshift,并且需要使用 ssh 访问节点来配置它。但 Issh 私钥是可行的。

答案1

您可以创建一个 ~/.ssh/config 文件。以下是示例

Host node1
    User <user>
    IdentityFile ~/.ssh/id_rsa

配置完成后,您需要做的就是ssh node1继续前进。

您收到该错误很可能是因为命令缺少密钥。您可以通过转到 node1 服务器上的 /var/log/secure 来验证这一点。

答案2

我找到了这个解决方案:

eval $(ssh-agent -s)
ssh-add <path>/id_rsa

相关内容