質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

2回答

27808閲覧

SSH接続が出来ない原因

study_111

総合スコア82

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

0クリップ

投稿2020/04/30 11:39

編集2020/04/30 11:42

こちらの手順で、GitlabのSSH接続を試みていたのですが、ssh -T gitlabのホスト名(アドレス)ここのコマンドを実行した場合に、以下のエラーが出てしまいました。

ssh: Could not resolve hostname gitlab.com:フォルダ名.git: Name or service not known

「~/.ssh/config」の内容を調べていたのですが、HostNameには、SSH接続をしたいリポジトリのアドレスを入力すればよろしいのでしょうか?

HOST test user aaa HostName git@gitlab.com:フォルダ名(リポジトリ内のSSH接続する際のパス) identitiesonly yes identityFile ~/.ssh/id_rsa

HostNameには、下記Cloneボタンを押した際の「Clone with SSH」に表示されている部分を入力しました。
イメージ説明
こちら、SSH接続が出来ない原因につきまして、アドバイス頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

リンク先の内容が説明不足で誤解されているようですが、~/.ssh/configの編集は必須では有りませんし、ssh -Tでの接続確認も必須ではありません。

特に認証鍵のファイル名として標準の ~/.ssh/id_rsa を使っている場合は ~/.ssh/config を編集しなくても、

git clone git@gitlab.com:フォルダ名.git

のように Clone with SSH で表示されている内容をそのまま指定するだけで clone 出来るはずです。

~/.ssh/config を編集する必要が有るのは以下の時です。

  • 認証鍵のファイル名を標準のもの以外にする時
  • git clone で指定するリポジトリのユーザ名/ホスト名を省略したい時

HostName git@gitlab.com:フォルダ名(リポジトリ内のSSH接続する際のパス)

git@gitlab.com:フォルダ名というのは git というユーザ名で gitlab.com というホストに接続し、そこにあるフォルダ名を使うという意味です。この内、ユーザ名とホスト名が git が内部で起動している ssh コマンドで使う情報です。

HOST test user aaa HostName git@gitlab.com:フォルダ名(リポジトリ内のSSH接続する際のパス)

Host にはsshやgitコマンドで指定するホスト名(gitlab.com)を記述します。
HostNameには実際に接続するホスト名(gitlab.com)を記述します。
User にはユーザ名(git)を記述します。

HostHostName が同じ場合は、HostName の記述は必要ありません。
Host には実際に接続するホスト名とは別の物も使えます。
例えば、

Host hoge User git HostName gitlab.com

と書いてある時は、ssh -T hogegit clone hoge:フォルダ名 とすると gitlab.com に接続します。
逆に、git clone git@gitlab.com:フォルダ名 とした場合は指定したホスト名と Host の記述が違うので、上記設定は使われない事になります。

投稿2020/04/30 15:12

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

study_111

2020/05/01 02:01

ご回答ありがとうございます。 大変分かりやすいご説明で、理解しやすかったです。 こちらのご説明をQiitaに載っけてほしいくらいです!
guest

0

HostNameには、SSH接続をしたいリポジトリのアドレスを入力すればよろしいのでしょうか?

違います。名前の通り、ホスト名gitlab.com)だけ書いてください。

投稿2020/04/30 11:42

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

study_111

2020/04/30 11:55 編集

ご回答ありがとうございます。 「HostName」を「gitlab.com」に変更し、念のため「HOST」をgitlabに変更しssh -T gitlab.comとしましたら、「ubuntu@gitlab.com: Permission denied (publickey).」と表示されました。 この為、恐らく、本エラー解決したと思われます。 一応「HOST」の部分もgitlabとしたのですが、ここは特にgitlabと入力しなければならないなどとは決まっていないでしょうか?
study_111

2020/05/01 02:11

すみません。今回は、より詳細にご説明頂きました「doda」さんをBAとさせて頂くことにいたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問