python - 使用 Paramiko 在远程计算机上通过 sudo 执行 SFTP 操作

标签 python ssh sftp sudo paramiko

如何使用 Paramiko 和 sudo 运行 chmod 775

代码片段:

    ssh_client = paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())    
    r_pass = getpass.getpass(prompt='Remote password? ')   
    ssh_client.connect(r_ip, username=r_name, password=r_pass)
    ftp = ssh_client.open_sftp()
    for fn in files:
        print("sending {} of {}".format(count, len(files)))
        ftp.put(fn, posixpath.join(r_path_mark, fn))
        ftp.chmod(r_path_mark+fn, 0o775)   

最后一个 ftp.chmod 命令导致“权限被拒绝”。

最佳答案

没有通过 sudo 运行 SFTP 的标准方法 - 虽然并非不可能,但它涉及大量黑客攻击。

有关使用 su/sudo 与 WinSCP SFTP 客户端的一些背景知识:
How do I change user after login (e.g. su root)? .

<小时/>

或者,您可以通过 sudo 运行 chmod shell 命令,其他问题已经介绍过:

<小时/>

尽管一般情况下,您不应该以这种方式使用 sudo 来实现命令自动化。
有关替代方案,请参阅:
Allowing automatic command execution as root on Linux using SSH

关于python - 使用 Paramiko 在远程计算机上通过 sudo 执行 SFTP 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60161495/

相关文章:

git - ssh-agent 没有在 CMD 中创建

command-line - SFTP 内联放置,无需交互

python - 将HDF5文件读入numpy数组

python 在一行中将列表项转换为 unicode

powershell - 在 PowerShell 中回答 Plink 主机 key 和 KEX 提示

linux - 在 unix 远程服务器中执行参数文件

c# - 支持 PuTTY 私钥 (PPK) 的 SFTP C# 库

java - Spring 集成 SFTP - 传输后处理

python - py.test Remote 有问题

python - 计算numpy数组之间的MSE