Heim > Artikel > Backend-Entwicklung > Python-Lerntagebuch (50) – paramiko
python通过paramiko实现,ssh功能 import paramiko ssh =paramiko.SSHClient()#创建一个SSH连接对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加 ssh.connect(hostname='192.168.11.51',port=22,username='yjj',password='yjj')#连接,主机 端口 用户名 密码 stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一 result=stdout.read()#获取结果 #result2=stdin.read()#获取结果 #result3=stderr.read()#获取结果 #print(result,result2,result3) result=result.decode() print(result) ssh.close()#关闭连接
FTP-Funktion
import paramiko #创建一个传输通道对象 transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口 transport.connect(username='root',password='yjj')#用户名,,密码 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法 sftp.put('test2','/home/yjj/test2')#上传文件 ,本地路径文件 ,服务器的路径文件 sftp.get('/home/yjj/test1','test1')#下载文件 ,服务器的路径文件 ,本地路径文件
Aus Sicherheitsgründen werden keine Klartext-Passwörter verwendet und RSA-asymmetrische Schlüssel für die automatische Anmeldung verwendet
Unter Linux : Generieren Sie den Schlüssel
und übertragen Sie ihn auf den Server, auf dem Sie sich anmelden möchten:
Wenn die Übertragung erfolgt Ist erfolgreich, können Sie sich erfolgreich beim Server anmelden.
Wenn Sie sich unter Windows bei Linux anmelden
Sie können den privaten Schlüssel nach Windows kopieren
Geben Sie den privaten Schlüssel an Schlüssel über paramiko.RSASchlüssel zum Zugriff
SSH-Funktion:
import paramiko priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件 ssh=paramiko.SSHClient()#生成ssh对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加 ssh.connect(hostname='192.168.11.50',port=22,username='root',pkey=priv_key)#连接,主机 端口 用户名 私钥 stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一 result=stdout.read()#获取结果 result=result.decode() print(result) ssh.close()#关闭连接
FTP-Funktion:
import paramiko priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件 #创建一个传输通道对象 transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口 transport.connect(username='root',pkey=priv_key)#用户名,,私钥 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法 sftp.put('test2','/home/yjj/test2-2')#上传文件 ,本地路径文件 ,服务器的路径文件 sftp.get('/home/yjj/test1','test1-2')#下载文件 ,服务器的路径文件 ,本地路径文件 with open('test1-2','r',encoding='utf-8') as f: s=f.readlines() print(s)
Das obige ist der detaillierte Inhalt vonPython-Lerntagebuch (50) – paramiko. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!