Ошибка выдачи sshpass «Не удалось получить псевдотерминал: успех»

Я пытаюсь запустить инструмент sshpass для автоматизации действия sftp.

На другом сервере команда работает, а на этом сервере просто возвращает одну строку сообщения об ошибке.

Вот команда, которую я использую:

sshpass -p Password sftp Uname@Host

И я получаю ошибку:

Failed to get a pseudo terminal: Success

Я пробовал это с множеством разных хостов и как пользователь root, и я могу без проблем подключиться по sftp, поэтому я почти уверен, что это проблема либо с sshpass, либо с псевдотерминалом.

Я не очень много знаю о псевдотерминалах и не могу найти ничего об ошибке. Папка /dev/pts пуста, а cat /proc/sys/kernel/pty/nr равен 0, что, я думаю, означает, что запущенных нет. Имеется 256 элементов pty**, от ptya0 до ptyzf, что наводит меня на мысль, что я, возможно, достиг предела количества псевдотерминалов. Я думаю, что мои максимальные терминалы (посмотрев на cat /proc/sys/kernel/pty/max) составляют 4096.

Кто-нибудь еще сталкивался с этой ошибкой или знает, что может быть не так? Это производственный сервер, поэтому я не могу позволить, чтобы он был отключен. Любая помощь по этому вопросу будет принята с благодарностью.


person Zech    schedule 03.07.2012    source источник


Ответы (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
person Zech    schedule 06.07.2012