当前位置: 首页 > ai >正文

解决ssh拉取服务器数据,要多次输入密码的问题

问题在于,每次循环调用 rsync 都是新开一个连接,所以每次都需要输入一次密码。为了只输入一次密码,有以下几种方式可以解决:


推荐方案:设置 SSH 免密登录

最稳最安全的方式是:配置 SSH 免密登录,一次配置,永远不输密码。

步骤如下:

  1. 本地生成 SSH 密钥(如果还没有):

ssh-keygen -t rsa

按默认选项一路回车。

  1. 将公钥传到远程主机

ssh-copy-id host@172.31.178.114
  1. 测试一下登录是否不再需要密码:

ssh host@172.31.178.114

如果你能直接登录,rsyncscp 就都不再需要密码了。


🔁 如果你现在急用,不想配置免密,那可以用 sshpass 工具自动输入密码(不太安全)

安装:

sudo apt install sshpass

修改你的脚本:

import os
import subprocessremote_base = "/home/host/Data/"
local = "/data/datasets/"
user_host = "host@172.31.xxx.xxx"
password = "your_password"  # 不安全,不推荐长期写在脚本里flysLists = ["xxx", "xxx", "xxxx", # ... 省略其余列表 ..."xxx", "xxx"
]for fly in flysLists:remote_path = os.path.join(remote_base, fly)full_remote = f"{user_host}:{remote_path}"cmd = ["sshpass", "-p", password,"rsync", "-azP", full_remote, local]subprocess.run(cmd)print("finished: ", fly)

🧠 总结推荐

方法安全性推荐度特点
SSH 免密登录✅✅✅⭐⭐⭐⭐⭐配置一次,终身受益
sshpass⭐⭐快捷测试,不推荐长期使用

http://www.xdnf.cn/news/1837.html

相关文章:

  • PyTorch 实现食物图像分类实战:从数据处理到模型训练
  • 植物合成生物学:上帝之手,万物皆可合
  • 【MQ篇】RabbitMQ的消费者确认机制实战!
  • 【金仓数据库征文】金仓数据库:开启未来技术脑洞,探索数据库无限可能
  • 脚本批量启动Node服务器
  • 【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
  • 复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航
  • 计算机组成原理第二章 数据的表示和运算——2.1数制与编码
  • HTMLcss实现网站抽奖
  • Ubuntu 下 Nginx 1.28.0 源码编译安装与 systemd 管理全流程指南
  • 本地使用Ollama部署DeepSeek
  • 30天通过软考高项-第三天
  • redis 数据类型新手练习系列——string类型
  • 【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门
  • 计算机组成原理-408考点-数的表示
  • 全面解析 MCP(Model Context Protocol):AI 大模型的“万能连接器”
  • 通讯录完善版本(详细讲解+源码)
  • 基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**
  • 使用 硅基流动+Doris+DeepSeek搭建RAG知识库(保姆级教程)
  • XBIT以创新技术引领币圈十大APP,开启数字货币交易新时代
  • SpringBoot 学习
  • 基于STM32的大棚温度环境调控系统设计方案
  • 2015-2023 各省 GDP 数据,用QuickBI 进行数据可视化——堆叠图!
  • 基于HTML+CSS实现的动态导航引导页技术解析
  • 聚客AI手把手实战:用LlamaIndex+代码实现亿级数据的智能问答系统
  • 【C++指南】告别C字符串陷阱:如何实现封装string?
  • 深入浅出Sentinel:分布式系统的流量防卫兵
  • 5.3 Dify:低代码平台,适用于企业快速部署合规AI应用
  • Linux系统中命令设定临时IP
  • 四步完成机房3D建模仿真:小白也能快速上手