如何使用python连接ssh
时间: 2023-02-22 12:04:03 浏览: 60
您可以使用Python的第三方库paramiko来连接ssh。paramiko是一个实现了SSHv2协议的库,可以帮助您执行远程命令,上传和下载文件等。
下面是一个示例代码,可以帮助您连接到远程主机并执行命令:
```
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname', username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode())
ssh.close()
```
您可以根据您的需求修改代码。
相关问题
python连接ssh使用公钥
要使用公钥连接 SSH,首先需要在远程服务器上将公钥添加到您的用户帐户中。以下是一些简单的步骤:
1. 生成 SSH 密钥对
在本地计算机上打开终端或命令提示符,输入以下命令:
```
ssh-keygen -t rsa
```
然后按照提示输入密钥的名称和密码(可选)等信息。
2. 将公钥复制到远程服务器
在本地计算机上打开终端或命令提示符,输入以下命令:
```
ssh-copy-id user@remote_host
```
其中 `user` 是您的用户名,`remote_host` 是远程服务器的地址。您需要输入远程服务器的密码,然后公钥将被复制到远程服务器的 `~/.ssh/authorized_keys` 文件中。
3. 连接 SSH
在本地计算机上打开终端或命令提示符,输入以下命令:
```
ssh user@remote_host
```
这样您就可以使用公钥连接到远程服务器了。
注意:如果您使用的是 Windows 操作系统,可以使用 PuTTY 工具来连接 SSH,并在其中配置公钥。
python连接ssh
可以使用 Paramiko 库来连接 SSH。以下是一个简单的示例代码:
```python
import paramiko
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
# 自动添加远程服务器的主机密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
ssh.connect(hostname='remote.server.com', username='username', password='password')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l')
# 输出命令结果
print(stdout.read().decode())
# 关闭连接
ssh.close()
```
在上面的示例中,我们首先创建了一个 SSH 客户端对象。然后,我们设置了一个策略,以便自动添加远程服务器的主机密钥,这是一个必须的步骤。接下来,我们使用 `connect()` 方法连接到远程服务器,并指定用户名和密码。一旦连接成功,我们可以使用 `exec_command()` 方法执行任何命令,这里我们执行了一个简单的 `ls -l` 命令来列出远程服务器上的目录内容。最后,我们关闭了连接。