RSA鍵の名前指定作成と.ssh/config設定からGitLab->Cloneまで
RSA鍵の名前指定作成と.ssh/config設定からGitLab->Cloneまで

RSA鍵の名前指定作成と.ssh/config設定からGitLab->Cloneまで

プライベート用のgithubや職場のgitlabを設定する際に、別々のRSA鍵を作成・指定する必要があります。

 

鍵作成から鍵設定、git cloneを行うまでの流れを忘れがちになるので、ここにメモを残します。

 

ssh-keygenでRSA鍵を作成

まず、ssh-keygenにて名前指定でRSA鍵を作成します。

 

$ ssh-keygen -t rsa -C '[emailアドレス]' -f ~/.ssh/id_rsa_gitlab_company

 

パスワード指定を行わない場合は、コマンド入力後にEnterを押し続けることでRSA鍵の作成が完了します。

 

鍵作成後は、以下のコマンドで鍵が作成されたかどうかを確認することができます。

 

$ ls ~/.ssh/
config
id_rsa_gitlab_company
id_rsa_gitlab_company.pub

 

作成された「id_rsa_gitlab_company」の権限をchmodで「600」に変更します。

 

chmod 600 id_rsa_gitlab_company

 

.ssh/configに追加したRSAを反映

RSA会議をファイル名指定で作成した後は、.ssh配下にある「config」を修正します。

 

「config」の最後に以下を追記します。

 

Host gitlab_company
HostName [IPアドレス]
User git
Port [ポート番号]
IdentityFile ~/.ssh/id_rsa_gitlab_company
IdentitiesOnly yes
TCPKeepAlive yes

 

こちらの説明は以下の通り

 

  • HostName : IPアドレスを指定
  • User : gitを指定
  • Port : SSH接続を行うポートを指定
  • IdentityFile : RSA鍵を指定
  • IdentitiesOnly :IdentityFileが必要な場合はYesでそうでない場合はNo
  • TCPKeepAlive : 接続状態を継続した場合はYesでそうでない場合はNo

 

gitlabの場合、ポート番号は基本的に「22」や「443」を使用しますが、使用するgitlabサーバーに合わせて設定してください。

 

ここまで設定を終えると、あとはgitlabの「SSH Keys」へキーを登録します。

 

「SSH Keys」は以下の階層にあります。

 

  • 右上のユーザーアイコン => Settings => SSH Keys

 

鍵の登録が完了したら、sshコマンドで接続確認を行います。

 

ssh -T gitlab_company
Welcome to GitLab, @[UserName]!

 

Welcome to GitLab」の後にGitLabのアカウント名が表示されればOKです。

 

ここまで完了したら、RSA鍵とGitLabの連携は完了です。

 

git cloneをRSA鍵指定で行う

最後に、作成したRSA鍵でcloneを行う場合は

 

git clone ssh://git@[ip]:[user]/[RepoName].git

 

のようにGitLabで案内されている指定ではなく

 

git clone gitlab_company:[user]/[RepoName].git

 

として「config」で設定したHostを指定してリモートリポジトリを指定する必要があります。

 

基本的には、「ssh -T gitlab_company」の疎通確認が完了していれば、git cloneが行える状態ですので、上のコマンドで無事にcloneが完了するはずです。

 

git cloneができない場合は、RSA鍵の設定以外の問題となるでしょう。

  • .