Jho*_*han 24 linux ssh bash debian remote-execution
我正在尝试使用ssh连接到第一台机器,然后使用ssh连接到另一台机器.但得到这个错误:
ssh user@computerone.com 'ssh otheruser@computertwo.com'
stdin: is not a tty
Run Code Online (Sandbox Code Playgroud)
Яро*_*лин 30
登录到shell时,远程主机假定连接是由人类用户完成的.因此,期望他们能够控制客户端上的标准是合理的.也就是说,用户通过键盘在终端上进行输入.如果远程主机检测到用户不是人(因为输入不是终端 - tty,而是另一个进程),它可能会警告用户这种意外情况.
演示了所讨论的不当行为以及如何避免它(man ssh
并寻找-t进行更彻底的解释).
$ ssh -t genja.org 'ssh raptor.lan hostname\; uptime'
host: genja.lan
raptor
21:17:27 up 3 days, 15 min, 1 user, load average: 0.00, 0.00, 0.00
Connection to genja.org closed.
$ ssh genja.org uptime
host: genja.lan
21:17:43 up 12 days, 17:40, 1 user, load average: 0.30, 0.08, 0.02
Run Code Online (Sandbox Code Playgroud)
......和错误:
$ ssh genja.org 'ssh raptor.lan hostname\; uptime'
host: genja.lan
Permission denied (publickey,keyboard-interactive).
Run Code Online (Sandbox Code Playgroud)
您可能想要制作隧道:
ssh -L 4444:raptor.lan:22 genja.org
Run Code Online (Sandbox Code Playgroud)
然后,在另一个终端上:
ssh -p 4444 localhost will give you a conenction straight to "raptor.lan"
Run Code Online (Sandbox Code Playgroud)
如果远程端未配置DNS别名,请使用192.168.0.11等IP地址.
归档时间: |
|
查看次数: |
52768 次 |
最近记录: |