ssh访问
import paramiko # 创建一个ssh对象 ssh = paramiko.SSHClient() private_key = paramiko.RSAKey.from_private_key_file("/home/hinimix/.ssh/id_rsa") # 允许连接不在known_hosts文件上的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname="www.666.com", port=22, username="hinimix", pkey=private_key) # 执行命令 stdin, stdout, stderror = ssh.exec_command("cat /etc/hosts") res, err = stdout.read(), stderror.read() # 获取结果 result = res if res else err # 关闭连接 ssh.close() print(result.decode())
sftp访问
import paramiko # 连接服务器 transport = paramiko.Transport(("nexus.2dupay.com", 22)) transport.connect(username="hinimix", password="Inspiry2016") # Transport的对象transport作为参数给SFTPClient sftp = paramiko.SFTPClient.from_transport(transport) # 上传文件,必须写完整文件路径,不能写文件夹的路径 sftp.put("/home/hinimix/123.sh", "/tmp/456.sh") # 下载文件 sftp.get("/home/hinimix/789.sh", "/tmp/jqk.sh") transport.close()