python连接ssh
时间: 2023-08-31 18:09:33 浏览: 94
可以使用 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
在Python中连接到SSH服务器通常使用第三方库paramiko。Paramiko是一个功能强大的安全外壳(SSH)协议工具包,可以用于连接、控制远程主机并传输数据。以下是使用paramiko连接SSH的基本步骤:
1. **安装paramiko**:
首先需要安装paramiko库,可以使用pip命令安装:
```
pip install paramiko
```
2. **创建SSH客户端**:
```python
import paramiko
ssh_client = paramiko.SSHClient()
```
3. **配置自动添加新主机到信任列表** (可选):
如果你是第一次连接某个主机,你可以设置SSHClient自动添加到本地的信任列表,避免输入密码:
```python
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
```
4. **连接到SSH服务器**:
```python
hostname = 'your_server_ip'
username = 'your_username'
password = 'your_password' # 或者使用密钥对
port = 22 # 默认SSH端口
ssh_client.connect(hostname=hostname, username=username, password=password, port=port)
```
5. **执行命令或操作**:
一旦连接成功,就可以发送命令执行操作,例如:
```python
stdin, stdout, stderr = ssh_client.exec_command('ls -l')
for line in stdout:
print(line.strip()) # 打印结果
```
6. **关闭连接**:
完成任务后记得关闭连接:
```python
ssh_client.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,并在其中配置公钥。
阅读全文
相关推荐
















