You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无额外依赖下SSH登录脚本中密码变量展开方法咨询

仅原生Shell脚本实现SSH自动登录的方案说明
  • 核心结论:仅靠原生Shell脚本无法实现自动输入SSH密码完成登录
    SSH的密码验证流程是直接从终端设备(/dev/tty)读取输入,而非标准输入(stdin)。所以像echo "$_PASSWORD" | ssh "$_USER@$_MACHINE"这类管道方式完全无效,SSH会跳过标准输入的内容,直接向终端请求密码输入。

  • 无第三方工具的替代解决方案:使用SSH密钥登录(原生支持,无需额外工具)

    1. 本地生成无密码的SSH密钥对:
      ssh-keygen -t ed25519 -N ""
      
      (执行时一路回车即可,-N ""指定密钥无密码)
    2. 将公钥上传到目标机器(仅需手动输入一次密码):
      ssh-copy-id "$_USER@$_MACHINE"
      
    3. 后续登录无需输入密码,直接执行:
      ssh "$_USER@$_MACHINE"
      
  • 补充说明:如果业务场景必须使用密码验证且无法借助sshpass、expect这类工具,那原生Shell没有可行的实现方式——因为原生Shell没有模拟终端交互式输入的能力,这类功能必须依赖专门的工具实现。

内容的提问来源于stack exchange,提问作者LeBrocoli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:37:03