用于连接远程服务器并执行基本命令

importparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.connect(hostname='192.168.242.128',port=22,username='root',password='mokun.123')#执行命令stdin,stdout,stderr=ssh.exec_command('df')#获取命令结果#result=stdout.read()res,err=stdout.read(),stderr.read()result=resifreselseerrprint(result.decode())#关闭连接ssh.close()

基于用户名密码上传下载

importparamikotransport=paramiko.Transport(('192.168.242.128',22))transport.connect(username='root',password='mokun.123')sftp=paramiko.SFTPClient.from_transport(transport)#将location.py上传至服务器/tmp/test.pysftp.put('/tmp/location.py','/tmp/test.py')#将remove_path下载到本地local_pathsftp.get('remove_path','local_path')transport.close()

基于公钥密钥上传下载

importparamikoprivate_key=paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')transport=paramiko.Transport(('192.168.242.128',22))transport.connect(username='root',pkey=private_key)sftp=paramiko.SFTPClient.from_transport(transport)#将location.py上传至服务器/tmp/test.pysftp.put('/tmp/location.py','/tmp/test.py')#将remove_path下载到本地local_pathsftp.get('remove_path','local_path')transport.close()