私は GitHub と GitLab をどちらも使っています。
ほぼ同時期に以下のことが起き、GitHub/GitLab との通信ができなくなりました。
- ある場所のネットワークがIPv6に切り替わった。
- 勤務先のひとつのネットワークが更新され、ポート22が閉じられた。
それぞれ調べて、以下のことがわかりました。
- 2025年10月現在、GitHub/GitLab はIPv6を完全にサポートしきれていないようです。IPv4の方が確実につながります。IPv4にするためには、 “AddressFamily inet” と config ファイルに記載します。
- ポート22が閉じられている場合、ポート443 を使うことで接続できます。その際、GitHubのホスト名は “ssh.github.com”, GitLabのホスト名は “altssh.gitlab.com” となります。
これらを反映するためには、 ホームディレクトリの下の .ssh ディレクトリに config ファイルを作成します。
その中に以下を記載します。
<h1>GitHub</h1> Host github.com Hostname ssh.github.com User git Port 443 IdentityFile ~/.ssh/id_ed25519 AddressFamily inet <h1>GitLab</h1> Host gitlab.com Hostname altssh.gitlab.com User git Port 443 IdentityFile ~/.ssh/id_ed25519 AddressFamily inet
こうしたところ、私の作業する場所はどこでも GitHub/GitLab にSSH接続できるようになりました。
ちなみに正しく接続できたかは、 以下のコマンドで確認できます。
<h1>GitHub</h1> ssh -T git@github.com <h1>GitLab</h1> ssh -T git@gitlab.com
そうすると、ともに
Enter passphrase for key '/home/ユーザ名/.ssh/id_ed25519':
と聞いてきますので、パスフレーズを入れると、
GitHubの場合は
Hi ユーザ名! You’ve successfully authenticated, but GitHub does not provide shell access.
GitLabの場合は
Welcome to GitLab, @kytk!
となります。