如何通过服务器SSH将托管的代码仓库克隆到本地机器
克隆服务器上托管的预发布环境代码仓库操作步骤
前置检查
- 首先确认你持有的服务器SSH私钥已存放到本地
~/.ssh/目录下,且文件权限设置为仅当前用户可读,执行命令:chmod 600 ~/.ssh/你的私钥文件名,避免SSH因权限问题拒绝访问 - 登录到预发布服务器,确认代码仓库的绝对路径,示例路径为
/opt/staging/project-name.git,可以进入仓库目录后执行pwd获取准确路径
常规克隆方式(默认22端口、默认SSH密钥)
如果你的SSH服务用默认22端口,且私钥是默认的id_rsa,直接执行以下命令即可:
git clone [服务器用户名]@[服务器IP/域名]:[仓库绝对路径]
示例:git clone dev@192.168.1.100:/opt/staging/project-name.git
自定义配置克隆方式
非默认SSH端口/非默认私钥单次使用
如果SSH端口不是22,或者你用的是自定义命名的私钥,可以单次指定参数克隆:
git clone -c core.sshCommand="ssh -p [自定义端口] -i ~/.ssh/你的自定义私钥文件名" [服务器用户名]@[服务器IP/域名]:[仓库绝对路径]
示例(端口为2222,私钥名为staging_id_rsa):git clone -c core.sshCommand="ssh -p 2222 -i ~/.ssh/staging_id_rsa" dev@192.168.1.100:/opt/staging/project-name.git
长期使用简化配置
如果之后需要频繁操作该服务器的仓库,可以提前把SSH配置写入本地~/.ssh/config文件,免去每次输参数的麻烦:
- 编辑
~/.ssh/config文件,添加如下配置:
Host staging-server HostName 192.168.1.100 User dev Port 2222 # 替换为你的实际SSH端口,默认22可删除该行 IdentityFile ~/.ssh/staging_id_rsa # 替换为你的实际私钥路径
- 后续直接用配置的Host别名克隆即可:
git clone staging-server:/opt/staging/project-name.git
常见异常排查
- 若克隆失败,先测试SSH连通性:执行
ssh [服务器用户名]@[服务器IP/域名],如果无法正常登录,优先检查密钥权限、服务器SSH配置、网络连通性 - 若提示仓库不存在,确认你填写的仓库绝对路径是否正确,以及你的服务器用户是否对仓库目录有可读权限
内容的提问来源于stack exchange,提问作者zin-minhtun
相关产品推荐
相关产品推荐

