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,并实现命令行的收发的主要内容,如果未能解决你的问题,请参考以下文章

ubantu使用ssh服务

ubuntu开启SSH服务,并允许ROOT权限远程登录。

ubuntu16.04安装ssh服务,并实现远程访问

python实现ssh及sftp功能

如何使用python实现远程登录到linux再远程登录到另一个linux

Ubuntu下开启ssh并允许root用户登录