results.tmp 但是,我-6ren">
gpt4 book ai didi

linux - SSH 远程命令结果未正确显示

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:04 24 4
gpt4 key购买 nike

我正在运行以下命令,该命令在我们的 Linux 服务器上运行良好:

ssh -n user@192.168.1.1 "echo start; hostname;" > results.tmp

但是,我一直在尝试在基于 Unix 的机器上运行类似的命令(我相信)并且启用了 SSH。

因此,通过 SSH 连接到该服务器并运行命令即可:

 ssh admin@192.168.2.2

SHOW NFS STATUS

结果:

 NFS Server:  Status:     Last Error:     IP Address:      Mount Path:
Primary active NONE

现在,我尝试运行这样的命令(转储到文本文件中进行解析):

 ssh -n admin@192.168.2.2 "SHOW NFS STATUS" > results.tmp

...我输入密码,并收到此消息,但没有任何结果:

 Received disconnect from 192.168.2.2: 11: Logged out.

我尝试删除/添加“-n”、括号和分号,但无法让它像其他 Linux 服务器一样运行。任何想法表示赞赏!谢谢

当我运行此命令时,还有一个想法:

 ssh -n admin@192.168.2.2 -p 22

我得到这些结果:

 Pseudo-terminal will not be allocated because stdin is not a terminal.

最佳答案

我能够使用期望脚本解决这个问题。感谢所有提供帮助的人。

 #!/bin/bash
expect -c "
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no admin@192.168.2.2
#Password prompt
expect -exact \"password:\"
#Send password
send \"s3cr3tp@ssword\r\"
sleep 1
expect -exact \"> \"
send \"SHOW NFS SHELF 1 SLOT 1 STATUS\r\"
#drop us back to a prompt
expect -exact \"> \"
#Exit
\"exit\"
"

关于linux - SSH 远程命令结果未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639562/

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