欢迎访问宙启技术站
智能推送

Python中使用connect()函数连接SSH服务器远程登录

发布时间:2023-12-16 16:23:29

在Python中,可以使用paramiko库来连接SSH服务器实现远程登录。paramiko是一个非常强大的工具,可以用于远程执行命令、上传和下载文件等操作。

首先,我们需要安装paramiko库。可以通过在命令行中运行以下命令来进行安装:

pip install paramiko

在安装完成后,我们可以使用以下代码示例来连接SSH服务器并进行远程登录:

import paramiko

# 创建SSHClient对象
ssh = paramiko.SSHClient()

# 设置策略自动添加和保存目标SSH服务器的SSH密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接SSH服务器
ssh.connect('服务器IP地址', port=22, username='用户名', password='密码')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')

# 打印命令执行结果
print(stdout.read().decode())

# 关闭SSH连接
ssh.close()

在上面的代码中,首先我们创建了一个SSHClient对象ssh,然后设置了策略自动添加目标SSH服务器的SSH密钥。接下来,使用connect()方法连接到目标SSH服务器,传入服务器的IP地址、端口号、用户名和密码。然后,使用exec_command()方法执行命令,这里我们执行了ls命令来列出当前目录下的所有文件。最后,通过stdout.read().decode()来获取并打印命令执行结果。

需要注意的是,paramiko库中的exec_command()方法执行的命令是在远程服务器上执行的,并返回命令的执行结果。如果想要在本地运行命令并获取结果,可以使用subprocess库。

同时,paramiko库还提供了其他一些方法,如get()put()方法用于上传和下载文件,open_sftp()方法用于打开SFTP会话等。

总结来说,使用paramiko库可以方便地连接SSH服务器实现远程登录,并可以执行命令、上传和下载文件等操作。