通过堡垒主机的 SSH 隧道

通过堡垒主机的 SSH 隧道

我在通过堡垒主机建立 ssh 隧道时遇到问题。

查看了各种可能解决该问题的 SE 问题后,没有一个能解决该问题。

我的 ssh 配置文件(本地)

Host www
    HostName ***
    IdentityFile ~/.ssh/key.pem
    ProxyCommand ssh root@bastion -W %h:%p

Host bastion
    HostName ***
    IdentityFile ~/.ssh/key.pem
    StrictHostKeyChecking      no
    ProxyCommand               none
    ForwardAgent               yes

我已经在堡垒服务器 (/etc/ssh/sshd_config) 上添加了必要的配置选项:

PermitTunnel yes
AllowTCPForwarding yes
PermitOpen any
TCPKeepAlive yes

但我收到以下错误:

OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: /etc/ssh/ssh_config line 59: Applying options for www
debug1: Executing proxy command: exec ssh root@bastion -W ****:22
debug1: permanently_set_uid: 0/0
debug1: permanently_drop_suid: 0
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/key.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/key.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
ssh_exchange_identification: Connection closed by remote host

此设置有一个注意事项,即目标主机 (www) 位于 AWS VPC 中,并且只能从堡垒进行寻址。我假设这不应该是一个问题,因为路由是从堡垒完成的,但这是我最后的想法,因为这是此场景中的问题。

答案1

这很烦人。原来 AWS AMI 在其 authorised_keys 中禁用了端口转发!当 sshd 配置中的所有内容看起来都正确时,调试起来很棘手。

〜/.ssh /授权密钥

no-port-forwarding,no-agent-forwarding,no-X11-forwarding

相关内容