gpt4 book ai didi

linux - 执行远程命令时SSH错误 : "stdin: is not a tty"

转载 作者:IT王子 更新时间:2023-10-29 00:15:25 25 4
gpt4 key购买 nike

我正在尝试使用 ssh 连接到机器 1,然后使用 ssh 连接到另一台机器 2。但是得到这个错误:

ssh user@computerone.com 'ssh otheruser@computertwo.com'

stdin: is not a tty

最佳答案

当登录到 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

...和错误:

$ ssh  genja.org 'ssh raptor.lan hostname\; uptime'
host: genja.lan
Permission denied (publickey,keyboard-interactive).

你可能想做一个隧道:

ssh -L 4444:raptor.lan:22 genja.org

然后,在不同的终端上:

ssh -p 4444 localhost will give you a conenction straight to "raptor.lan"

如果远端没有配置DNS别名,则使用192.168.0.11等IP地址。

关于linux - 执行远程命令时SSH错误 : "stdin: is not a tty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com