Paramiko是一个使用Python语言编写的SSHv2协议库,可以用来实现SSH远程登录控制。下面是一个使用Paramiko实现SSH远程登录控制的详细说明。
- 安装Paramiko
首先需要安装Paramiko库,可以使用pip命令在命令行中进行安装:
pip install paramiko
- 导入Paramiko库
在Python脚本中导入Paramiko库:
import paramiko
- 创建SSH客户端对象
使用Paramiko库中的SSHClient类创建一个SSH客户端对象:
ssh = paramiko.SSHClient()
- 配置SSH客户端对象
为了让SSH客户端对象能够连接到目标服务器,需要对其进行一些配置:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
这个配置将自动添加服务器的SSH密钥,使其能够建立安全的连接。
- 连接到目标服务器
使用SSH客户端对象的connect方法连接到目标服务器,需要提供服务器的IP地址、端口号、用户名和密码:
ssh.connect('192.168.1.100', port=22, username='username', password='password')
- 执行命令
使用SSH客户端对象的exec_command方法可以执行远程命令:
stdin, stdout, stderr = ssh.exec_command('ls')
这个命令会在远程服务器上执行“ls”命令,并将输出结果保存在stdout对象中。可以使用stdout对象的read方法读取输出结果:
result = stdout.read().decode()
print(result)
- 关闭连接
最后,使用SSH客户端对象的close方法关闭连接:
ssh.close()
完整代码示例:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', port=22, username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('ls')
result = stdout.read().decode()
print(result)
ssh.close()