python怎么连接ssh
时间: 2023-09-23 14:06:45 浏览: 46
要连接SSH,可以使用Python的paramiko库。具体步骤如下:
1. 安装paramiko库。可以使用pip install paramiko命令进行安装。
2. 导入paramiko库。
3. 建立SSH连接。需要提供SSH服务器的IP地址、用户名、密码等信息。
4. 执行SSH命令。可以使用SSH连接的exec_command方法执行命令。例如,可以执行ls命令并将输出打印出来。
以下是示例代码:
```python
import paramiko
# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='username', password='password')
# 执行SSH命令
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode())
# 关闭SSH连接
ssh.close()
```
注意,需要将连接关闭以释放资源。
相关问题
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` 命令来列出远程服务器上的目录内容。最后,我们关闭了连接。
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,并在其中配置公钥。