【发布时间】:2018-04-30 18:47:45
【问题描述】:
我正在尝试使用以下命令通过 SSH 从受密码保护的无头服务器进行 Git 克隆。我正在将 Cygwin 与 OpenSSH 一起使用。我可以使用 Cygwin 对服务器进行交互式 SSH,而不会出现问题。该问题仅出现在 Cygwin 中,而不会出现在 Windows 命令提示符中。
git clone ssh://username@server.edu:path/to/repo/reponame
我没有收到任何密码提示。我收到以下错误:
Cloning into 'reponame'...
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
username@server.edu: Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我假设这是由 SSH 和 Cygwin 设置引起的。
到目前为止我尝试过的不成功的“解决方案”是:
-
使用形式的命令
git clone ssh://username:password@server.edu:path/to/repo/reponame
-
进入
取消设置 GIT_ASKPASS 取消设置 SSH_ASKPASS
并重试克隆。
- 在我的本地计算机上打开 x 转发服务器并重试克隆。
最终奏效的解决方案是打开一个 Windows 命令提示符并使用它而不是 Cygwin 终端。 Cygwin 中的哪些设置可能导致该问题,我该如何解决?
【问题讨论】:
-
您可以使用 Cygwin 或仅使用命令提示符进行 ssh 吗?
-
我可以使用 Cygwin 进行 ssh。我将在正文中澄清这一点。
-
可能它无法将 cygwin 终端识别为交互式。
-
您是否从“本机”Cygwin 终端运行 git clone 目录?还是您使用某种形式的 X 终端?我无法准确复制您在 Cygwin 中看到的内容,并且只能强制 ssh-askpass 运行,如果我跳过箍强制它在没有伪终端的情况下运行。