知用网
白蓝主题五 · 清爽阅读
首页  > 软件安装

克隆仓库用HTTPS还是SSH?实际场景告诉你怎么选

在公司新配的电脑上装好Git,第一件事就是克隆项目代码。打开页面,复制链接时却犹豫了:用HTTPS还是SSH?两个都能克隆下来,但到底哪个更合适?其实这不光是技术问题,更多是看你平时怎么用。

HTTPS:最简单的开始方式

如果你刚接触Git,或者只是临时下载一个开源项目看看,HTTPS是最省事的选择。不需要提前配置密钥,只要仓库地址和账号密码(或个人访问令牌),就能直接拉下来。

比如你想克隆自己在GitHub上的项目:

git clone https://github.com/yourname/project.git

第一次推送时会提示输入用户名和密码。现在很多平台已经不再支持密码登录,而是要求使用个人访问令牌(Token)。生成一个Token,复制粘贴进去,之后每次认证都靠它。

好处是跨设备方便。换个电脑,只要记得账号和Token,随时随地都能操作。缺点也明显:每次推拉代码都得输一次Token,除非你配置凭据存储。

SSH:一劳永逸的身份验证

当你每天要来回推拉好几个仓库,反复输密码就太折腾了。这时候SSH更顺手。它基于密钥对验证身份,只要本地有私钥,远程服务器有公钥,整个过程自动完成,不用再手动输入。

先检查有没有现成的密钥:

ls ~/.ssh/id_rsa.pub

如果没有,生成一对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

一路回车就行。然后把 ~/.ssh/id_rsa.pub 里的内容复制到GitHub、GitLab等平台的SSH Keys设置里。

之后克隆就用SSH地址:

git clone git@github.com:yourname/project.git

你会发现,推拉代码再也没有弹窗让你输密码。尤其在自动化脚本、CI/CD流程中,SSH几乎是标配。

哪种更适合你?看这几个场景

你在咖啡馆用朋友的电脑临时改点代码,用HTTPS加Token最安全。你不希望把私钥留在别人的机器上,完事一关浏览器,啥都没留。

你在团队长期开发,每天切分支、提交、推送好几次,SSH能省下大量重复输入的时间。而且很多内网Git服务只开放SSH端口,根本连不了HTTPS。

公司用GitLab自建仓库,通常推荐SSH。因为内部系统集成了SSH密钥管理,权限控制更细。而GitHub对HTTPS和SSH支持都很完善,选择更自由。

小问题别忽视

有时候SSH连不上,提示“Permission denied (publickey)”。别急着重装Git,先试试:

ssh -T git@github.com

这个命令会测试你和GitHub的连接。如果失败,可能是ssh-agent没启动,或者密钥没加载。可以手动添加:

ssh-add ~/.ssh/id_rsa

另外,有些公司网络会屏蔽SSH的22端口。这时候HTTPS反而更可靠。遇到这种情况,也不必强求用SSH。

两种方式本质没有高下之分,关键是谁更贴合你的使用习惯和环境。家里电脑用SSH,公司临时机用HTTPS,混着来也没问题。工具是为人服务的,怎么顺手怎么来。