我是靠谱客的博主 激动大门,最近开发中收集的这篇文章主要介绍Linux(4):python连接Linux+通过python连接x-shell和x-ftp一、通过python连接Linux二、通过python多线程连接Linux三、通过python连接x-shell四、通过python连接ftp(实现上传和下载),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述

文章目录

  • 一、通过python连接Linux
  • 二、通过python多线程连接Linux
  • 三、通过python连接x-shell
  • 四、通过python连接ftp(实现上传和下载)

一、通过python连接Linux

前提下载paramiko包

pip install paramiko

然后开始连接

import paramiko

# 1.创建一个客户端
ssh = paramiko.SSHClient()
# 2.创建一个白名单
know_host = paramiko.AutoAddPolicy()
# 3.设置不提醒
ssh.set_missing_host_key_policy(know_host)
# 4.连接服务器
ssh.connect(hostname='10.10.107.33', port=22, username='qinfan', password='qinfan')
# 5.执行linux命令
while True:
    commnd=input('请输入命令')
    stdin, stdout, stderr = ssh.exec_command(commnd)

    # stdin 标准输入     文件对象 写权限
    # stout 标准的输出   文件对象 读权限
    # stderr 特殊的输出  文件独享 读权限
    # 查看输出结果
    print(stdout.read().decode())
# 6.关闭连接
ssh.close()

在这里插入图片描述


二、通过python多线程连接Linux

import threading
import paramiko


class MyThread(threading.Thread):
    def __init__(self, host, user, pwd, port=22):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.port = port
        super(MyThread, self).__init__()

    def run(self):
        # 创建客户端
        ssh = paramiko.SSHClient()
        # 设置白名单不提醒
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)

        # 连接
        ssh.connect(hostname=self.host, port=self.port, username=self.user, password=self.pwd)

        # 执行命令
        stdin, stdout, stderr = ssh.exec_command('mkdir /opt/love')
        print(stdout.read().decode())

        # 关闭连接
        ssh.close()


if __name__ == '__main__':
    data = [
        {'host': '10.10.107.52', 'user': 'root', 'password': 'root123'},
        {'host': '10.10.107.84', 'user': 'root', 'password': '123456'},
        {'host': '10.10.107.114', 'user': 'root', 'password': '970220..'},
        {'host': '10.10.107.173', 'user': 'root', 'password': '940315'},
    ]
    tlist = []
    for i in data:
        t = MyThread(host=i['host'], user=i['user'], pwd=i['password'])
        tlist.append(t)

    for i in tlist:
        i.start()


三、通过python连接x-shell

import paramiko

# 创建客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接
ssh.connect(hostname='10.10.107.84', port=22, username='root', password='123456')

# 创建一个shell
shell = ssh.invoke_shell()
shell.settimeout(1)
# 获取命令
command = input('>>') + 'n'
# 发送命令
shell.send(command)

while True:
    if command == 'q' + 'n':
        break
    try:
        # 获取返回的结构
        recv = shell.recv(512).decode()
        if recv:
            print(recv)
        else:
            continue
    except:
        command = input('>>') + 'n'
        # 发送命令
        shell.send(command)

ssh.close()


四、通过python连接ftp(实现上传和下载)

import paramiko

trans = paramiko.Transport(sock=('10.10.107.33'))

trans.connect(username='root', password='123456')

sftp = paramiko.SFTPClient.from_transport(trans)

# put('你要上传的文件','上传的位置')
# sftp.put('jiandandian','/opt/newjdd')
# get('你要下载的文件','下载的位置')
sftp.get('/opt/newjdd', 'love')

sftp.close()

最后

以上就是激动大门为你收集整理的Linux(4):python连接Linux+通过python连接x-shell和x-ftp一、通过python连接Linux二、通过python多线程连接Linux三、通过python连接x-shell四、通过python连接ftp(实现上传和下载)的全部内容,希望文章能够帮你解决Linux(4):python连接Linux+通过python连接x-shell和x-ftp一、通过python连接Linux二、通过python多线程连接Linux三、通过python连接x-shell四、通过python连接ftp(实现上传和下载)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部