以下の内容はhttps://souiunogaii.hatenablog.com/entry/gitlab183-sshより取得しました。


WEBサーバーからGitLabへSSH接続化(Pullする際のユーザー名・パスワード入力を不要に)

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・WEBサーバーでGitLabサーバーからPullするときにSSH接続して,ユーザー名とパスワードの入力を不要にしたい。
・具体的な手順を教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. WEBサーバーからGitLabへSSH接続化(Pullする際のユーザー名・パスワード入力を不要に)する手順

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

WEBサーバーからGitLabへSSH接続化(Pullする際のユーザー名・パスワード入力を不要に)する手順

今回の構成イメージ図

WEBサーバでSSH秘密鍵ファイルと公開鍵ファイル作成

cd /home/jenkins/.ssh
ssh-keygen
[jenkins@a-webap01 .ssh]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jenkins/.ssh/id_rsa): ←★★★空でEnter
Enter passphrase (empty for no passphrase):  ←★★★パスワードの入力
Enter same passphrase again:  ←★★★パスワードの入力
Your identification has been saved in /home/jenkins/.ssh/id_rsa
Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:aG4JKGpJAaUko1eQa80UhKpUpj8PODofgauqcMUgnYA jenkins@a-webap01
The key's randomart image is:
+---[RSA 3072]----+
|*oo=+.           |
|E=o=.            |
|+oO=             |
|.*++o  .         |
|=o= + o S        |
|+=.* + .         |
|=o+ + +          |
|*. . o           |
|*o.              |
+----[SHA256]-----+
-rw------- 1 jenkins jenkins 2655  93 20:12 id_rsa
-rw-r--r-- 1 jenkins jenkins  571  93 20:12 id_rsa.pub

GitLabサーバー側で公開鍵ファイルを設定

WEBサーバー側の公開鍵をGitLabサーバー側にコピー

[jenkins@a-gitlb01 ~]$ cd ~/.ssh
[jenkins@a-gitlb01 .ssh]$ ll
合計 8
-rw------- 1 jenkins jenkins 568  93 17:50 authorized_keys
-rw-r--r-- 1 root    root    571  93 20:12 id_rsa.pub

WEBサーバーの公開鍵ファイルid_rsa.pubの中身をGitLabサーバー側の公開鍵authorized_keysに追記

 cat id_rsa.pub >> authorized_keys

作業後に,公開鍵id_rsa.pubは削除

WEBサーバーからGitLabサーバーへSSH接続できるかテスト

[jenkins@a-webap01 .ssh]$ ssh -i ~/.ssh/id_rsa jenkins@a-gitlb01
The authenticity of host 'a-gitlb01 (192.168.100.125)' can't be established.
ED25519 key fingerprint is SHA256:MpchM03vJ92wjcaLVIJesBsX4Irn2XUSsthXebLqF9U.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes ←★★★yes
Warning: Permanently added 'a-gitlb01' (ED25519) to the list of known hosts.
Enter passphrase for key '/home/jenkins/.ssh/id_rsa':  ←★★★パスフレーズの入力
Last login: Wed Sep  3 20:14:40 2025
[jenkins@a-gitlb01 ~]$  ←★★★接続に成功

GitLab画面でSSH鍵を登録

WEBサーバーの公開鍵「id_rsa.pub」の中身を開いてコピー&貼り付け。

WEBサーバのssh-agentに秘密鍵ファイルを登録

ssh-add ~/.ssh/id_rsa
[jenkins@a-webap01 ~]$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent.

エラーが出ます。

[jenkins@a-webap01 ~]$ eval `ssh-agent`
Agent pid 7090
[jenkins@a-webap01 ~]$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/jenkins/.ssh/id_rsa:  ←★★★パスフレーズの入力
Identity added: /home/jenkins/.ssh/id_rsa (jenkins@a-webap01)

エラーが解消して上手く登録できました。

[jenkins@a-webap01 ~]$ ssh-add -l
3072 SHA256:aG4JKGpJAaUko1eQa80UhKpUpj8PODofgauqcMUgnYA jenkins@a-webap01 (RSA)

WEBサーバー側の~/.ssh/configファイルの作成

/home/jenkins/.ssh/config
[jenkins@a-webap01 ~]$ cd ~/.ssh
[jenkins@a-webap01 .ssh]$ touch config
[jenkins@a-webap01 .ssh]$ vi config
Host a-gitlb01.blue-planet.internal
    HostName a-gitlb01.blue-planet.internal
    User jenkins
    IdentityFile ~/.ssh/id_rsa



以上の内容はhttps://souiunogaii.hatenablog.com/entry/gitlab183-sshより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14