python使用scp, ssh sudo等

这篇博客介绍了如何在Python中利用paramiko库进行SSH连接和SCP文件传输。通过创建SSHClient实例,可以实现对远程主机的连接,并使用SCPClient进行文件上传。示例代码展示了如何配置VM,将文件通过SCP发送到远程服务器,并执行sudo命令创建目录。此外,还提供了一个函数用于执行带有sudo的远程命令。
摘要由CSDN通过智能技术生成

如何在python中使用scp? - 问答 - 云+社区 - 腾讯云

Python SCPClient.put示例,scp.SCPClient.put Python示例 - HotExamples

怎样用python实现scp - 长空小鹰 - 博客园

python使用paramiko和SCPClient进行linux远程控制和上传和下载文件_知识小屋-CSDN博客

import scp
from scp import SCPClient

def createSSHClient(server, port, user, password):
    client = paramiko.SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(server, port, user, password)
    return client

ssh = createSSHClient("192.168.111.136", 22, "xxxx", "123456")
scp = SCPClient(ssh.get_transport())


def config_vm(ip, uname, pswd, image):
    #scp  -r work   anji2@192.168.111.136:/home/anji2
	ssh = paramiko.SSHClient()
	ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
	ssh.load_system_host_keys()
	ssh.connect(ip, username=uname, password=pswd)
	scp = SCPClient(ssh.get_transport())
	scp.put(image, '/tmp/flashimg', True)   //传目录 True
    #scp.close()
    #ssh.close()

config_vm("192.168.111.136", "xxx", "123456", "work")

ssh sudo

https://stackoverflow.com/questions/6270677/how-to-run-sudo-with-paramiko-python

def sudo_run_commands_remote(command, server_address, server_username, server_pass, server_key_file=None):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname=server_address,
                username=server_username,
                password=server_pass,
                key_filename=server_key_file)
    session = ssh.get_transport().open_session()
    session.set_combine_stderr(True)
    session.get_pty()
    session.exec_command("sudo bash -c \"" + command + "\"")
    stdin = session.makefile('wb', -1)
    stdout = session.makefile('rb', -1)
    stdin.write(server_pass + '\n')
    stdin.flush()
    print(stdout.read().decode("utf-8"))


sudo_run_commands_remote("sudo mkdir -p /etc/certs", "192.168.111.136", "anji2", "123456")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值