Python实现ssh登录远程Ubuntu,并实现命令行的收发
Posted 义薄云天us
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现ssh登录远程Ubuntu,并实现命令行的收发相关的知识,希望对你有一定的参考价值。
首先,使用Python的paramiko库来实现ssh登录远程Ubuntu,需要做的是导入paramiko库:
import paramiko
然后,使用paramiko的SSHClient类来连接远程Ubuntu,输入Ubuntu的IP地址,用户名,密码等信息:
ssh = paramiko.SSHClient()
ssh.connect(hostname=“xxx.xxx.xxx.xxx”, port=22, username=“username”, password=“password”)
之后,使用paramiko的exec_command()方法来执行命令,并获取命令的输出:
stdin, stdout, stderr = ssh.exec_command(“ls -l”)
最后,使用paramiko的close()方法来断开连接:
ssh.close()
实现的代码
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(hostname="xxx.xxx.xxx.xxx", port=22, username="username", password="password")
stdin, stdout, stderr = ssh.exec_command("ls -l")
for line in stdout:
print(line.strip('\\n'))
ssh.close()
注意:
1.请检查paramiko库是否已经安装,如果没有安装,可以使用 pip 命令安装:
pip install paramiko
已经安装了
2.如果paramiko库已经安装,可以尝试更改端口号,检查远程Ubuntu是否开启了ssh服务,以及用户名和密码是否正确。
3.出现如下错误paramiko.ssh_exception.SSHException: Server
这是由于远程Ubuntu没有开启ssh服务或是用户名和密码错误导致的,请检查服务器是否开启了ssh服务,以及用户名和密码是否正确。
以上是关于Python实现ssh登录远程Ubuntu,并实现命令行的收发的主要内容,如果未能解决你的问题,请参考以下文章