Debian squeeze 上的 SSH 代理转发

Debian squeeze 上的 SSH 代理转发

我正在尝试像这样设置 SSH 转发

osx > debianA > debianB

我可以使用 ssh -A 正常连接到 debianA,并且它具有以下环境变量:

SSH_AGENT_PID=1543
SSH_AUTH_SOCK=/tmp/ssh-giwdYY1542/agent.1542
SSH_CLIENT='92.233.199.x 38954 22'
SSH_CONNECTION='92.233.199.x 38954 108.171.179.x 22'
SSH_TTY=/dev/pts/0

当我尝试连接到 debianB 时,代理未被使用!

ssh -v 输出结束于:

debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/nic/.ssh/id_rsa
debug1: Trying private key: /home/nic/.ssh/id_dsa
debug1: Next authentication method: password

然后我被要求输入密码。

我没有在 ssh_config 中设置任何 ForwardAgent no 指令,而且根本没有 .ssh/config。sshd_config 中没有 AllowAgentForwarding。我也尝试过所有这些指令,但都是 yes。

debianA 和 debianB 都有相同的 ssh_config 和 sshd_config(已通过 diff 验证),因此真正奇怪的是连接 OSX > debianB > debianA 工作正常!!

我完全没有主意了!有人遇到过这种情况吗?

干杯!NFV

更新 1

我注意到的另一件事是,当连接 osx > debianA 时,它在序言中做的最后一件事是吐出 Agent pid:

Nics-iMac:~ nic$ ssh -A nic@cloud01
Linux cloud01 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Tue Nov 27 06:42:47 2012 from xxx
Agent pid 717  <<< HERE ***********
nic@cloud01:~# 

debianB 不会这样做,否则序言是相同的,这可能是一个线索吗?

网络功能虚拟化

答案1

在 debianB 上,检查 .sshd 的内容和权限,~/.ssh/authorized_keys如果权限错误(太宽),它也会在日志中发出抱怨声。

答案2

弄清楚了这一点,我在 /etc/profile 的脚下执行了 eval ${ssh-agent},一定是覆盖了转发代理的设置。

感谢 NFV

相关内容