不,你不能这样做。。。然而,你可以通过使用sudo在上传后移动文件来解决这个问题
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(<Host>, username=<User Name>, password=<Password)
sftp = ssh.open_sftp()
sftp.put(<Source>, destination_i_CAN_write_to)
sftp.close()
#now move the file to the sudo required area!
stdin, stdout, stderr = ssh.exec_command("sudo -S -p '' mv /uploaded/path/to/file.txt /restricted/sudo/path/file.txt",**kwargs)
stdin.write(SUDO_PASSWORD + "\n")
stdin.flush()
这个
-S
标志打开
sudu
这个
-p ''
flag告诉sudo使用
''
或空字符串作为密码提示
不能
简单使用
sudo su - username
exec_command
在呼叫之前
open_ssh
,因为每次调用
exec_命令