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

SSH登录远程服务器执行git pull无用户名密码提示如何解决

问题原因

通过<< EOF向SSH传递远程命令的默认模式下,SSH不会为远程会话分配伪终端(pty),远程运行的git无法将交互式凭据输入提示透传到本地终端,因此会直接跳过输入环节执行失败。

解决方案

两种方案均仅需修改本地脚本,无需调整远程服务器配置:

  • 方案1:给SSH命令添加-t参数强制分配伪终端,是最简便的适配方式
ssh -t url@location << EOF
--other commands--
git pull
--other commands--
EOF

如果部分环境下单个-t分配伪终端失败,可改为ssh -tt url@location强制分配。

  • 方案2:将命令作为SSH参数直接传递,适配性更强
    如果调整here-document写法不生效,可直接把整段命令作为SSH的末尾参数传递,配合-t使用稳定性更高:
ssh -t url@location "
--other commands--
git pull
--other commands--
"

如果命令中包含双引号,需要提前用反斜杠\做转义处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:24:03