linux - 将私钥添加到 ssh 代理

标签 linux ssh

我指的是 http://www.mtu.net/~engstrom/ssh-agent.php

我的公钥列在 remote1 的 ~/.ssh/authorized_keys 下。在 SSH 登录连接期间, 它工作正常(在 connection-Auth 下加载了我的私钥),它要求输入我提供的密码,然后登录成功。 但是当在 remote2 等服务器之间切换时,执行 SSH remote1,它会要求输入密码。尝试根据该站点设置 SSH 代理转发,但无济于事...ssh-add 从未提示我输入私钥密码,或者我在尝试遵循所描述的过程时做错了什么?

我基本上做到了 $ eval ssh-agent $ ssh-add(有些执行 ssh-add ~/.ssh/id_rsa--> 不知道 id_rsa 指的是什么,因为我在 .ssh 下只有 auth_keys 文件)

看到一些描述执行 chmod 600 ~/.ssh/authorized_keys 的资源,但不确定这是否适用于我的情况。

最佳答案

ssh-agent 包装另一个命令,例如您可以包装一个 shell

ssh-agent bash

然后,在该 shell 中,您需要添加您的私钥,并输入您的密码:

ssh-add /path/to/your/private/key # (by default : ~/.ssh/id_rsa)

然后,当你使用 ssh 连接时,添加 -A 选项:

ssh -A user@remote1

就是这样,您的 key 已转发,如果您键入(在 remote1 上)就可以看到它:

ssh-add -L

您现在可以使用该私钥连接到您的 remote2。

使用 ssh 转发时要小心。任何在 remote1 上具有根访问权限的人都可以在您连接时使用您的身份在 remote2 上进行连接。

关于linux - 将私钥添加到 ssh 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499145/

相关文章:

linux - yum 错误 [Errno 14] 无法验证对等证书或对等证书无效

ssh - Linux 上的 FileZilla, 'sftp' 命令无法连接到特定服务器。 SSH 工作,在 Windows 上一切正常

c++ - SDL 2.0 编译,但无法运行

java - 使用 JSCH、apache mina sshd 或 sshj 的 Open SSH 的 SSH Exec channel

ssh - 没有密码的CentOS scp无法正常工作

linux - 通过 ssh 连接并重试的 Shell 脚本

ssh - 在没有 Tomcat 的情况下运行 Jenkins,尝试 SSH

linux - Ubuntu 16.10 上的 Matlab 外部编辑器

linux - g++-4.3在linux下qt5.8找不到

php - 如何确定文件路径是否是绝对路径?