我正在尝试设置 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
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,我在 ProxyCommand 内的 sudo / ssh 交互中遗漏了一些东西,但一直无法弄清楚。
str*_*ght -1
如果您想要轻松打字:
alias dest_on_server='sudo -u admin ssh destination.server.com'
Run Code Online (Sandbox Code Playgroud)
然后dest_on_server将带您到达那里。当然,将dest_on_server替换为您想要的任何短名称。
下一个替代方案是远程 ssh 并在$HOME/.ssh/authorized_keys文件中添加您自己的公钥。记下用户 ID,然后ssh user_id@destination.server.com。
| 归档时间: |
|
| 查看次数: |
1833 次 |
| 最近记录: |