Question

I am trying to run the sshpass tool to automate an sftp action.

On another server, the command works, but on this server it just returns one line of error mesage.

Here is the command I am using:

sshpass -p Password sftp Uname@Host

And I get the error:

Failed to get a pseudo terminal: Success

I've tried it with lots of different hosts and as the root user, and I can sftp in without a problem so I am pretty sure it is either a sshpass or pseudo terminal issue.

I don't know a whole lot about pseudo terminals and can't seem to find anything on the error. The folder /dev/pts is empty and cat /proc/sys/kernel/pty/nr is 0, which I think means that there aren't any running. There are 256 pty** items, from ptya0 through to ptyzf which makes me believe that I may have reached a limit for the number of pseudo terminals. I think my max terminals (by looking at cat /proc/sys/kernel/pty/max) is 4096.

Has anyone else experienced this error or know what may be wrong? It is a production server so I can't afford for it to be down. Any help on this would be greatly appreciated.

Was it helpful?

Solution

Figured it out. To anyone who has a similar error, the pts directory was unmounted for some reason. Doing the following did the trick:

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top