袁凤鸣的博客 | Fleeming's Blog Front-end Dev Engineer

Mac电脑 GitHub 配置SSH Key

2024-01-16
袁凤鸣
ssh


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_rsaid_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地址获取可以看如下图切换。



如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏博主

Music

Search

Content