0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Git専用SSH公開鍵の作成

Last updated at Posted at 2020-06-08

通常,SSH公開鍵の作成はここの手順で行う.この場合の公開鍵は他のサービスでも使うかもしれず共用のものとなる.
ここではGit専用のSSH公開鍵を作成し,仮に再作成した場合でも他のサービスに影響がないようにする.

SSH設定

SSH公開鍵の作成

鍵タイプrsa,鍵のファイル名をgitlab(公開鍵:gitlab.pub,秘密鍵:gitlab)とした場合のコマンドは以下のようになる.

$ ssh-keygen -t rsa -f ~/.ssh/gitlab

rsaはデフォルトなので-t rsaはいらないかもしれない.
ちなみにさらに色々書くと以下のようになる.

$ ssh-keygen -t rsa -f ~/.ssh/gitlab -b 2048 -C "メールアドレス"

以下のコマンドで鍵ファイルが作成されていることを確認する.

$ ls ~/.ssh/

利用のための設定

設定ファイルは以下となる.

  • ~/.ssh/config

configファイルの最後に以下を追記する.configファイルがなければ新規作成して以下を記載する.

config
HOST gitlab.mylab.ac.jp
  HostName gitlab.mylab.ac.jp
  IdentityFile ~/.ssh/gitlab
  User git

ここで接続先となるGitLabは便宜的に以下のようにしている.実際に使用している名前に置き換えること.

  • GitLabのFQDN
    • gitlab.mylab.ac.jp

config各行の説明は以下のとおり.

  • HOST [接続名]
    • 使用する接続名.例えば ssh gitlab.mylab.ac.jp で設定どおりの接続が可能.
  • HostName [接続先FQDN or 接続先IP]
    • 接続先の指定.
  • IdentityFile [秘密鍵]
    • 秘密鍵の指定.
    • windowsだと,"IdentifyFile"かもしれない.
  • User [User名]
    • 接続ユーザを指定.ssh user@接続先のuserに相当.git cloneで使用するのでgitを指定.
  • その他
    • Port [ポート番号]
      • ポート番号も指定可.

GitLabでの設定

ここの手順にもあるように,作成したgitlab.pubの中身をGitLab上の然るべきところに張り付けておく.

困ったときに

git@なのにパスワードを求められる.

httpsアクセスではなくsshアクセスで,公開鍵も設定しているのにパスワードを求められる場合に考えられること.

研究室内からみたgitlabのIPと研究室外からみたgitlabのIPがdnsのせいで異なっていたりする.この場合,configのHostNameがFQDNだと研究室外からpush出来なかったりする.

解決方法

~/.ssh/configのHostNameをIPで指定する.

解決できたか確認

以下のコマンドで,パスワードを求められず,Welcome なんとか!などのメッセージが出てればOK

terminal
$ ssh -vT git@[gitlabのFQDN]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?