我是靠谱客的博主 激动大门,最近开发中收集的这篇文章主要介绍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(实现上传和下载)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复