使用Python建立SSH连接的方法
Python建立SSH连接,可以使用paramiko库,以下是详细的方法和代码演示:
- 安装paramiko库
在命令行中输入以下指令:
pip install paramiko
- 建立SSH连接
导入paramiko库,使用SSHClient类建立SSH连接,并调用connect方法传入主机名、用户名和密码连接到SSH服务器上:
import paramiko # 建立SSH连接 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("pidancode.com", username="username", password="password")
其中set_missing_host_key_policy方法用于添加主机key,AutoAddPolicy表示自动添加主机key,当然也可以使用RejectPolicy、WarningPolicy等其他策略,具体可参考paramiko官方文档。
- 执行命令
使用exec_command方法执行命令,在命令行中执行“ls -l”,并打印输出结果:
# 执行命令并打印输出 stdin, stdout, stderr = ssh.exec_command("ls -l") print(stdout.read().decode())
其中,exec_command方法返回的三个值分别为输入流stdin、输出流stdout和错误流stderr,我们这里只需要输出流stdout,使用read方法读取并进行解码。
- 关闭SSH连接
使用close方法关闭SSH连接:
# 关闭SSH连接 ssh.close()
完整的代码演示:
import paramiko # 建立SSH连接 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("pidancode.com", username="username", password="password") # 执行命令并打印输出 stdin, stdout, stderr = ssh.exec_command("ls -l") print(stdout.read().decode()) # 关闭SSH连接 ssh.close()
注意:在实际使用中,建议将密码等秘密信息存放在配置文件中,避免泄漏。可以使用ConfigParser库来读取配置文件。另外,SSH连接的管理也需要注意,建议使用连接池等方式复用连接,避免频繁连接和断开导致的性能问题。
相关文章