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服务器实现远程登录,并可以执行命令、上传和下载文件等操作。
