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