我正在尝试通过桥接服务器隧道连接到服务器。到目前为止,我已经可以使用以下命令从命令外壳正常运行它:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
但是我一直试图将其包装到我的~/.ssh/config
文件中,但遇到了麻烦。我试过了:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
但是,当我这样做时,会收到以下错误消息,remoteserver.com
并且不确定是什么原因导致的:
ksh:SSH-2.0-OpenSSH_6.8 ^ M:未找到
我知道登录时的remoteserver.com
外壳是/usr/bin/ksh
。
我试图将路径参数添加到配置文件中的ssh命令中,但是没有区别。
有什么想法吗?
不幸的是,我的网桥服务器上没有安装netcat,因此我正在尝试使其以其他方式工作。我认为如果可以从命令行运行,应该有一种方法可以将信息放入配置文件中。
—
埃里克·B
在您可以
—
DanSut 2015年
ssh -A remote_userid@remoteserver.com
作为在桥机上运行的命令的方式使用的命令行用法中,config不能提供默认命令的方式。您尝试自己做的事works
,但随后ssh尝试将您ProxyCommand
的隧道用作隧道并开始向其发射SSH协议,而在另一端有外壳等待而不是sshd侦听SSH协议。
@dansut很棒。谢谢!
—
埃里克·B。
ProxyCommand
被使用的方式。通常,它与netcat一起使用,其中ssh通过它传递输出,而netcat充当通往远程服务器 SSH端口的隧道。ssh -W %h:%p bridge_userid@bridgemachine.com
如果要使用该功能,则需要类似的ProxyCommand 。