Python实现登录到远程主机,然后在远程主机上继续连接远程主机

实现功能

登录到远程主机,然后在远程主机上继续连接远程主机,执行命令。

python 复制代码
import paramiko  
import time

  
# 第二个远程主机的连接信息(在第一个远程主机上执行SSH连接时使用)  
second_remote_host = '192.168.xx.xxx'  


  
# 创建SSH客户端并连接到第一个远程主机  
ssh = paramiko.SSHClient()  
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 自动添加主机名和主机密钥到本地HostKeys对象,并保存  
ssh.connect('xx.xx.xx.xx', username='root', password='xxx')  
  
# 在第一个远程主机上执行SSH命令以连接到第二个远程主机  
# 注意:这里我们假设你已经在第一个远程主机上设置了SSH密钥认证到第二个远程主机  
# 或者你可以在命令中指定密码(但这通常不是安全的做法)  
command = f"/opt/sshpass/bin/sshpass -p 密码 ssh 用户名@{second_remote_host} 'ls '"  
stdin, stdout, stderr = ssh.exec_command(command)  

time.sleep(1)
  
# 读取命令输出  
output = stdout.read().decode()  
error = stderr.read().decode()  
  
if error:  
    print(f"Error connecting to {second_remote_host}: {error}")  
else:  
    print(f"Output from {second_remote_host}:\n{output}")  
  
# 关闭连接  
ssh.close()
相关推荐
火红色祥云3 分钟前
Python机器学习经典实例_笔记
笔记·python·机器学习
CHANG_THE_WORLD5 分钟前
深入理解指向数组的指针以及寻址运算
c语言·开发语言
星火开发设计5 分钟前
序列式容器:list 双向链表的特性与用法
开发语言·前端·数据结构·数据库·c++·链表·list
洛_尘7 分钟前
测试6:自动化测试--概念篇(JAVA)
java·开发语言·测试
wjs202410 分钟前
Lua 字符串处理详解
开发语言
爱凤的小光15 分钟前
VisionMaster软件---脚本梳理
java·服务器·网络
yq19820430115618 分钟前
基于Python爬虫原理的Pinterest视频资源获取技术解析与工具实践
爬虫·python·django·音视频
喵手23 分钟前
Python爬虫实战:自动化质量护航 - 构建爬虫数据的“熔断与巡检”规则引擎实战!
爬虫·python·自动化·爬虫实战·零基础python爬虫教学·自动化质量护航·数据熔断
一切尽在,你来27 分钟前
AI大模型应用开发前置知识:Python 异步编程
python·ai编程
程序员敲代码吗28 分钟前
WebSocket在现代通讯系统中的应用与优势解析
网络·websocket·网络协议