2024-01-20 00:01:22 补充更新
最近Mac的SourceTree提交SSH仓库经常出现:
ssh:connect to host github.com port 22: Connection timed out
查阅相关资料后明白22端口无法使用了。因此想到修改端口试试。一般默认端口都是443
- cd 进入
~/.ssh下 - 使用
vim config打开 编辑 config文件 -
输入
I后可以编写。粘贴如下:Host github.com User git Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 443 -
然后
WQ保存退出,并使用如下检查是否成功ssh -T git@github.com - 按照提示操作,成功后如图。然后可以去提交了

原因
之前一直使用https的仓库链接进行提交Github仓库。但是最近一直动不动403无响应。经常链接不上。现在采用SSH链接仓库。记录下方便查询。
检查
先看当前Git环境有没有配置提交账号的user name和email
- 使用
git config --list查看。如下是已经配置好了。mingo@macdeMacBook-Pro-2 ~ % git config --list credential.helper=osxkeychain init.defaultbranch=main user.name=yfm user.email=928289877@qq.com core.excludesfile=/Users/mingo/.gitignore_global difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE" difftool.sourcetree.path= mergetool.sourcetree.cmd=/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED" mergetool.sourcetree.trustexitcode=true commit.template=/Users/mingo/.stCommitMsg
检查是否存在SSH Key
cd ~/.ssh进行切换到.ssh文件夹进行 ls查看文件。
- 看是否存在
id_rsa和id_rsa.pub文件,如果存在,说明已经有SSH Key - 我的就是这样,还没有
mingo@macdeMacBook-Pro-2 .ssh % ls known_hosts
如果没有SSH Key,则需要先生成一下
- 我这里使用的是
Github账号邮箱。ssh-keygen -t rsa -C "yfmingo@163.com"
获取SSH Key
cat id_rsa.pub命令出现秘钥。- 终端控制台会出现
ssh-rsa的一大堆字符串。

GitHub添加SSH Key
GitHub点击用户头像,选择setting- 点击
New SSH Key新建一个,取个名字。填入刚才得到ssh-rsa的一大堆字符串

验证和修改
测试是否成功配置SSH Key
ssh -T git@github.com
//运行结果出现类似如下
Hi yfming93! You've successfully authenticated, but GitHub does not provide shell access.
完整操作记录

之前已经是https的链接,现在想要用SSH提交怎么办?
直接修改项目目录下 .git文件夹下的config文件,将地址修改一下就好了。
.git默认是隐藏的。Finder 始终显示隐藏文件或文件夹。 defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
git地址获取可以看如下图切换。
