SSH 登录服务器时,如何直接在参数中加入登录密码?

ssh sshpass 密码 服务器 IP
发布于 2026-06-14
4

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

文章主旨:

本文主要介绍 sshpass 这一轻量级命令行工具,用于在 SSH 登录时非交互式地直接提供密码,并提供了安装、语法、使用示例及安全建议。

关键要点:

  • sshpass 可向命令提示符自动提供密码,实现免交互 SSH 登录。
  • 支持多种密码传递方式:命令行参数(-p)、文件(-f)、环境变量(-e)等。
  • 可与 sshscprsync 等命令结合使用,完成远程操作或文件传输。
  • 密码以明文传递或存储存在安全风险,作者明确警告不推荐用于生产环境。

内容结构:

  • 引言:日常工作中通过 SSH 连接多台服务器时,免密登录配置繁琐,引出 sshpass 工具可以解决密码交互问题。
  • 安装:分别给出了 RedHat/CentOS 和 Debian/Ubuntu 下的安装命令。
  • 语法与参数:列出了 sshpass 的选项(-f、-d、-p、-e 等)及其含义。
  • 使用示例
    • 直接使用密码参数连接服务器。
    • 远程执行命令(如 df -htelnet 端口检测),仅打印结果,不实际跳转。
    • 从文件中获取密码。
    • 通过环境变量 SSHPASS 传递密码(临时或永久设置)。
    • 结合 scp 进行文件传输(递归复制目录)。
    • 结合 rsync 进行远程同步备份。
  • 安全性警告:作者强调使用 -p 或文件明文存储密码不安全,建议使用更安全的方法(如密钥认证),避免密码泄露或记录在系统日志中。

文章总结:

本文以实用角度介绍了 sshpass 的使用方法,但始终提醒读者注意明文密码的安全风险,推荐优先采用 SSH 密钥等更安全的认证方式。

杰哥的IT之旅