我公司的生产服务器(FOO,BAR ...)位于两个网关服务器(A,B)的后面。为了连接到服务器FOO,我必须使用用户名JOHNDOE打开与服务器A或B的ssh连接,然后从A(或B)访问任何生产服务器,并使用标准用户名打开SSH连接(我们称之为WEBBY)。
因此,每次我必须做类似的事情:
ssh johndoe@a
...
ssh webby@foo
...
# now I can work on the server
可以想象,这在我需要使用scp
或需要快速打开多个连接时很麻烦。
我已经配置了ssh密钥,并且还在使用.ssh / config来获取一些快捷方式。
我想知道是否可以创建某种ssh配置以便键入
ssh foo
并让SSH为我打开/转发所有连接。可能吗?
编辑
womble的答案恰好是我想要的,但现在看来我无法使用netcat,因为它未安装在网关服务器上。
weppos:~ weppos$ ssh foo -vv
OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006
debug1: Reading configuration data /Users/xyz/.ssh/config
debug1: Applying options for foo
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec ssh a nc -w 3 foo 22
debug1: permanently_drop_suid: 501
debug1: identity file /Users/xyz/.ssh/identity type -1
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /Users/xyz/.ssh/id_rsa type 1
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /Users/xyz/.ssh/id_dsa type 2
bash: nc: command not found
ssh_exchange_identification: Connection closed by remote host