こんにちは,むぎやんです.
このサイトのソースやらなんやらをGitで管理したいと思います(ホスティングサービスはGitLabで).ということで,GitLabにssh接続してみます.
基本はGitLab Docsを参考に,あとはこのサイトのsshとrsyncでアップロード(ssh編)を思い出しながら.
下準備
GitLabでは暗号化タイプはEd25519が推奨されているようです.このEd25519をOpenSSHで利用するにはバージョン6.5以上が必要とのこと.まずはバージョン確認から.
$ ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3
OKですね.ちなみにOpenSSH 8.0がリリースされているようです.
後,.ssh
ディレクトリがない場合は作っておきます.パーミッションは700
で.
# .sshディレクトリがない場合は作成
$ install -m 0700 -d ~/.ssh
キーペア作成
GitLabオススメ通りEd25519でキーペアを作成します.
$ cd ~/.ssh
$ ssh-keygen -t ed25519 -C "email@example.com"
-t
: 暗号化タイプ. dsa | ecdsa | ed25519 | rsa | rsa1-C
: コメント.GitLabに公開鍵を登録する時にTitle欄に入ります.
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/ユーザー/.ssh/id_ed25519):
キーの保存場所などを聞いてくるので指定する.(今回はデフォルトのままにしました)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
パスフレーズを聞いてくるので入力.これでキーペア作成完了です.
GitLabアカウントに公開鍵登録
まず,クリップボードに公開鍵をコピーしておきます.
# クリップボードにコピー
$ pbcopy < ~/.ssh/id_ed25519.pub
次に,GitLabのページを開いて,
- 右上のアバター →
Settings
を選択 ("User Settings > Edit Profile") - 左のナビから
SSH Keys
を選択 ("User Settings > SSH Keys") Key
欄に作成した公開鍵を貼り付けてAdd Key
ボタンを押す
これで登録完了です.
接続してみる
接続テストを行います.
$ ssh -T git@gitlab.com
Enter passphrase for key '/Users/ユーザー/.ssh/id_ed25519':
Welcome to GitLab, @username!
パスフレーズを聞かれるので入力.Welcomeメッセージが出れば成功です.
確認メッセージ
初回は例によって↓の確認が出ると思うので,yes
を選択しておきます.
The authenticity of host 'gitlab.com (35.231.145.151)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)?
再度接続テスト
$ ssh -T git@gitlab.com
Welcome to GitLab, @username!
動きました.