Ошибка выброса 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.

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

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
Другие вопросы по тегам