permission. My guess is the sudo su - does not actually works.
A simpler test case:
ssh = Net::SSH.start(“host”, “user”, :password =>“xxxx”)
puts ssh.exec!(‘ls -la /root’)
puts ssh.exec!(‘sudo ls -la /root’)
Running sudo over ssh generally requires that a pseudo-tty be allocated:
$ ssh XXX ls -la /root
ls: /root: Permission denied
$ ssh XXX sudo ls -la /root
sudo: sorry, you must have a tty to run sudo
permission. My guess is the sudo su - does not actually works.
A simpler test case:
ssh = Net::SSH.start(“host”, “user”, :password =>“xxxx”)
puts ssh.exec!(‘ls -la /root’)
puts ssh.exec!(‘sudo ls -la /root’)
Running sudo over ssh generally requires that a pseudo-tty be allocated:
$ ssh XXX ls -la /root
ls: /root: Permission denied
$ ssh XXX sudo ls -la /root
sudo: sorry, you must have a tty to run sudo
i am trying to ssh to a server and execute some commands. To do that, i
need to become a root user and somehow it does not work with below.
So, if your interest is in learning/playing with Net::SSH, carry on.
Another cool tool for this sort of thing is ‘expect’, i’m sure there is
a ruby lib for expect but I’ve never used it.
If you are trying to get some work done, another approach is to edit the
sudoers file on the remote host.
Add the commands that you want your unprivileged user to be able to
execute (or put them all in an executable .sh file). for this you may
want the nopassword option.
permission. My guess is the sudo su - does not actually works.
A simpler test case:
ssh = Net::SSH.start(“host”, “user”, :password =>“xxxx”)
puts ssh.exec!(‘ls -la /root’)
puts ssh.exec!(‘sudo ls -la /root’)
Running sudo over ssh generally requires that a pseudo-tty be allocated:
$ ssh XXX ls -la /root
ls: /root: Permission denied
$ ssh XXX sudo ls -la /root
sudo: sorry, you must have a tty to run sudo
Well, when i execute
puts ssh.exec!(‘ssh -t [email protected] ls -la /root’)
It gives:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-with-mic,password).
After i google around and execute this
puts ssh.exec!(‘ssh -t -t [email protected] ls -la /root’)