我正在尝试设置SSH,这样我就可以轻松登录到只能通过sudo访问中间服务器的服务器。
从命令行,登录到以下形式:
sudo -u admin ssh destination.server.com
这没有问题 - 很公平。但是,以下变体在ProxyCommand中不起作用:
ProxyCommand sudo -u admin ssh destination.server.com
由于stdin不是终端,因此不会分配伪终端。
ProxyCommand sudo -u admin ssh -t -t destination.server.com
tcgetattr:参数无效
最后一个变体似乎实际上与目标服务器交换信息,但随后它挂起:
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /home/me/.ssh/config
debug1: Applying options for destination
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec sudo -u admin ssh -t -t destination.server.com
debug1: identity file ...
debug1: identity file ...
debug1: identity file ...
debug1: loaded 3 keys
tcgetattr: Invalid argument
debug1: ssh_exchange_identification: Last login: Fri Jan 4 22:48:26 2013 from intermediate.server.com
我觉得在ProxyCommand中的sudo / ssh交互中有一些我遗漏的东西,但是还没能弄清楚。
管理员设置了公钥/私钥对
—
布鲁尔2013年
你不能只加密私钥吗?密码短语与sudo密码的用途相同。
—
Dennis
ProxyCommand ssh admin@destination.server.com
工作吗?为什么有sudo
必要?