我正在尝试运行sshpass工具来自动执行sftp操作。
在另一台服务器上,该命令有效,但在此服务器上它只返回一行错误消息。
这是我正在使用的命令:
sshpass -p Password sftp Uname@Host
我收到错误:
Failed to get a pseudo terminal: Success
我已经尝试过很多不同的主机,并且作为root用户,我可以顺利进行,所以我很确定它是sshpass或伪终端问题。
我对伪终端一无所知,似乎无法找到任何关于错误的内容。 文件夹/ dev / pts为空,cat / proc / sys / kernel / pty / nr为0,我认为这意味着没有任何运行。从ptya0到ptyzf有256个pty **项目,这让我相信我可能已达到伪终端数量的限制。我认为我的最大终端(通过查看cat / proc / sys / kernel / pty / max)是4096。
是否有其他人遇到此错误或知道可能出现的问题?它是一个生产服务器,所以我不能让它失败。对此的任何帮助将不胜感激。
答案 0 :(得分:1)
想出来。对于有类似错误的任何人,pts目录由于某种原因被卸载。执行以下操作可以解决问题:
rm -rf /dev/ptmx
mknod /dev/ptmx c 5 2
chmod 666 /dev/ptmx
umount /dev/pts
rm -rf /dev/pts
mkdir /dev/pts
vim /etc/fstab
(added: none /dev/pts devpts defaults 0 0)
mount /dev/pts