Sunforger

Sunforger

ssh直接連接github時config文件的配置

走 ssh 協議連接 github 時通常需要配置 ssh 的 config 文件。

一般來說配置文件有以下幾個字段

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_rsa

Host 主機配置的標識符。
HostName:主機的地址或域名。
User:登錄主機使用的用戶名。
IdentityFile:用於身份驗證的私鑰文件路徑。

github.com 域名解析出現問題時,可以在 https://www.ipaddress.com/ 查找 ssh.github.com 對應的地址(假定為 140.82.xxx.xx),替換 HostName 字段的內容。

然後在命令行界面中用 ssh -T ssh@github.com 測試連接。

假若回顯

ssh: connect to host 140.82.xxx.xx port 22: Connection timed out

則可以嘗試強制使用 443 端口,即 ssh -T -p 443 git@github.com

假若連接成功,則回顯

Hi [YOUR_USERNAME]! You've successfully authenticated, but GitHub does not provide shell access.

此時,記得將 config 做出進一步修改。

最方便的做法是直接替換。

Host github.com
  HostName 140.82.xxx.xx # modified
  User git
  IdentityFile ~/.ssh/github_rsa

或者可以另外新建配置

# original (and temporarily unavailable)
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_rsa

# added
Host ssh.github.com
  HostName 140.82.xxx.xx
  User git
  IdentityFile ~/.ssh/github_rsa
  Port 443
  PreferredAuthentications publickey
  TCPKeepAlive yes

此時通過 ssh -T git@ssh.github.com 即可檢測連接。但會帶來問題,即在 git 使用時會略有麻煩。因為Host標識符發生了變化(從 github.com 變為了 ssh.github.com

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。