Python建立SSH连接与使用方法

简介: paramiko是一个Python实现的SSH协议库,可以用来建立SSH连接、传输文件等。你可以在Python环境中使用pipan

下载.png

paramiko是一个Python实现的SSH协议库,可以用来建立SSH连接、传输文件等。你可以在Python环境中使用pipan,所以我们需要安装paramiko。


代码逻辑大概是:

1.先导入paramiko库,并创建一个SSHClient对象。

2.使用set_missing_host_key_policy方法来设置主机自动添加策略

3.然后使用connect方法连接到远程主机。

4.连接成功后,可以使用exec_command方法来执行任意的命令。

importparamikossh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_hostname_or_IP_address', username='your_username', password='your_password')
stdin, stdout, stderr=ssh.exec_command('ls -l')
print(stdout.read().decode())
ssh.close()

在上面的示例中,我们执行了一个简单的“ls -l”命令,并将输出打印到控制台上。

需要注意的是,在实际使用中,你可能需要使用SSH隧道和代理来建立安全连接。此时,你需要在paramiko库中使用相应的方法和参数来配置SSH隧道和代理。

SSH隧道操作方式如下:

  • 在本地机器上运行SSH客户端,并指定远程主机的IP地址和登录凭据。
  • 在SSH连接中添加隧道,指定本地端口和远程主机上的端口。
  • 连接到远程主机后,本地端口将被转发到远程主机上的指定端口,从而实现数据的隧道传输。

SSH代理操作方式如下:

  • 在本地机器上运行SSH客户端,并指定远程主机的IP地址和登录凭据。
  • 在SSH连接中添加代理,指定本地端口和远程主机上的端口。
  • 在本地机器上配置代理服务器为SSH代理。
  • 连接到远程主机后,所有网络流量都将通过SSH代理传输。

相关文章
|
2月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
117 6
|
2月前
|
NoSQL Unix 网络安全
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
|
10天前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
20 2
|
10天前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
13 1
|
10天前
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接
|
2月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
202 0
|
2月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"
【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"
|
2月前
|
存储 API 开发工具
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
|
Linux 网络安全
CentOS 7 SSH连接超时自动断开解决方案
CentOS 7 SSH连接超时自动断开解决方案
1033 0
CentOS 7 SSH连接超时自动断开解决方案
|
5月前
|
安全 Linux Shell
下一篇
无影云桌面