Maison > Article > développement back-end > journal d'apprentissage python (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()#关闭连接
Fonction ftp
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')#下载文件 ,服务器的路径文件 ,本地路径文件
Pour des raisons de sécurité, les mots de passe en clair ne sont pas utilisés et les clés asymétriques RSA sont utilisées pour se connecter automatiquement
Sous Linux : Générez la clé
et transférez-la sur le serveur auquel vous souhaitez vous connecter :
Si le transfert est réussi, vous pouvez vous connecter avec succès au serveur
Si vous vous connectez à Linux à partir de Windows
vous pouvez copier la clé privée sur Windows
Spécifiez la clé privée. clé via paramiko.RSAClé pour accéder
fonction ssh :
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()#关闭连接
fonction ftp :
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!