树莓派搭建Git服务器遇SSH连接拒绝问题求助
解决树莓派Git服务器SSH连接拒绝问题及Windows端SSH密钥配置
第一步:排查连接拒绝的核心原因
连接被拒绝(Connection refused)优先排查以下几点:
- 确认树莓派SSH服务是否运行
在树莓派终端执行:
如果显示sudo systemctl status sshinactive,启动服务并设置开机自启:sudo systemctl start ssh sudo systemctl enable ssh - 检查树莓派防火墙是否开放SSH端口(默认22)
查看防火墙状态:
如果未允许SSH流量,添加规则:sudo ufw statussudo ufw allow ssh - 修正Git Clone命令格式
你当前的命令格式有误,正确格式二选一:# 格式1:省略ssh://前缀 git clone UserName@hostIPaddress:/path/to/your/bare/repo.git # 格式2:完整ssh协议前缀 git clone ssh://UserName@hostIPaddress:/path/to/your/bare/repo.git
第二步:Windows端必须配置SSH密钥(新手步骤)
是的,Windows电脑需要生成SSH密钥并将公钥上传到树莓派,具体操作在Cygwin终端执行:
- 生成SSH密钥对
执行命令,全程按回车(无需设置密码,新手简化操作):
生成的密钥会存放在Cygwin的用户目录下:ssh-keygen -t rsa -b 4096~/.ssh/id_rsa(私钥,务必保密)和~/.ssh/id_rsa.pub(公钥,用于上传) - 复制公钥内容
查看并复制公钥全文:cat ~/.ssh/id_rsa.pub - 将公钥上传到树莓派并配置权限
- 先把公钥传到树莓派临时目录:
scp ~/.ssh/id_rsa.pub UserName@hostIPaddress:~/ - 登录树莓派终端,将公钥追加到授权列表:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys - 修复关键权限(SSH对权限要求严格,权限错误会导致认证失败):
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 先把公钥传到树莓派临时目录:
关键错误修正
你之前提到“将其粘贴到.ssh/id_rsa文件后执行cat .ssh/id_rsa >> authorized_keys”,这里犯了核心错误:authorized_keys里应该存放公钥(id_rsa.pub)的内容,而非私钥(id_rsa)。私钥是本地机器的身份凭证,绝对不能上传到服务器,立即删除树莓派authorized_keys里的私钥内容,替换成正确的公钥。
内容的提问来源于stack exchange,提问作者Iamverystuck
相关产品推荐
相关产品推荐

