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

Git SSH非交互式问题:Putty连接GitLab闪退无法输入命令如何解决?

GitLab SSH连接异常问题解决方案

问题原因

你同事的说法是正确的,GitLab的SSH服务仅用于Git操作的权限校验,本身不支持交互式shell登录,因此你直接通过Putty发起SSH连接时,会触发Server refused to allocate pty提示,认证完成后会话会自动断开,这属于正常现象,不是你的密钥配置有问题。

具体操作步骤

1. 验证SSH配置是否正确

如果需要确认密钥配置是否生效,按以下步骤操作即可:

  • 打开Putty,在会话配置页的「Host Name」栏填写git@gitlab.com,端口保持默认22
  • 依次进入Connection > SSH设置页,勾选「Don't start a shell or command at all」
  • 再进入Connection > SSH > Auth设置页,在「Private key file for authentication」处选中你生成的.ppk格式私钥
  • 点击「Open」启动会话,如果返回Welcome to gitlab, @MyUsernameHere提示,说明你的SSH密钥配置完全正常

2. 正常执行Git拉取/推送操作

GitLab SSH不需要手动提前开启Putty会话,根据你的使用习惯选以下任意一种方式即可:

图形化操作(搭配TortoiseGit)

  • 安装TortoiseGit,安装过程中选择Putty作为默认SSH客户端
  • 右键点击本地要存放仓库的文件夹,选择「Git克隆」
  • 在URL栏输入仓库地址git@gitlab.com:mycompanyname-go/fuzzing.git
  • 勾选「加载Putty密钥」,选中你的私钥文件后点击确定,即可完成仓库拉取
  • 后续的提交、拉取、推送操作,TortoiseGit会自动调用Putty完成SSH认证,无需手动操作

命令行操作(搭配Git for Windows)

  • 安装Git for Windows时,可选择使用内置OpenSSH或者Putty的plink作为SSH客户端
  • 打开Git Bash终端,执行验证命令ssh git@gitlab.com,返回欢迎信息即说明配置正常
  • 执行克隆命令git clone git@gitlab.com:mycompanyname-go/fuzzing.git即可拉取仓库
  • 后续的git pull、git push等操作都会自动完成SSH认证,无需手动发起连接

小提示:如果使用Git for Windows内置的OpenSSH,需要将Putty生成的.ppk私钥通过PuttyGen导出为OpenSSH格式的私钥,放在C:\Users\你的用户名\.ssh\id_rsa路径下,即可免输密钥路径执行Git操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:06:02