我的设置是这样的:
[local machine] --> [university network] --> [local machine in university network]
[machine1] --> [machine2] --> [machine3]
我已经设置了无密码访问ssh-keygen
。当我开机时机器1,我可以打字ssh user2@machine2
并立即接通。我可以从那里继续ssh user3@machine3
打字算我一个。
我现在希望能够ssh machine3
输入机器1直接连接第三台机器。我编写了以下 .ssh/config 文件:
Host machine3
Hostname machine3
ProxyCommand ssh user2@machine2 -W %h:%p
User user3
IdentityFile ~/.ssh/id_rsa.pub
IdentitiesOnly yes
但是,现在总是提示我输入密码用户3。如果我输入它,我就已连接,因此隧道可以工作。如何跳过输入 user3 的密码?
Machine1 是 Windows10 Pro(我在 power-shell 中使用 ssh 命令)。 Machine2 运行 Ubuntu 20.04.2 LTS (Focal Fossa) Machine3 运行 Linux Mint 20.3 Una
答案1
正如评论中所暗示的那样,我错误地认为我将与 machine2 上的“停止”连接。然而,事实并非如此。解决方案是将 ssh 公钥从 machine1 复制到 machine2 和 machine3。