«

[SSH] ポート指定GitサーバにSSHでアクセスできない時(Windows/GitExtensions)

最近…

機械学習関係をやってたんですけど、Unityをまた触ることになっています
てんやわんやして、前回更新から2カ月も経ってしまった…(+o+)

今回また、タイトル名のGit/SSH関係でオロオロしたので、同現象で困ってる人の助けになれば幸いです

(現象)初回SSH接続に失敗する

環境

  • Windows7/64bit
  • GitExtensions
  • キーペアを用いた認証でのSSH接続
  • GitサーバへのSSHアクセスは、オリジナルのポート番号を割り当てている

こんな環境で作業していました(古いPCからアクセスしたかったので、Win7なのです…)

  1. 初回クローンするために、Gitサーバにアクセスしようと、秘密鍵を .ssh ディレクトリ以下にコピーしておきます
    デフォルトのSSH秘密鍵置き場は
    c:\Users[ユーザ名].ssh/id_rsa
    です

  2. GitExtensionsを利用してGitリポジトリからクローンしようとすると、以下のエラーが…

fatal: Could not read from remote repository.
Please make sure you have the correct access rights and repository exists.

え、なんで…?

(解決)ポート番号ありでknown_hostsに登録する

アドレスも合ってる!
リポジトリもある!
サーバには公開鍵、クライアントには秘密鍵を置いてる!

これでなぜアクセス出来ないのか、解明に半日かかってしまいました…トホホ
自分のインフラ力の無さに涙が出そうです

答えを書きますと、

  • 先にコマンドプロンプトからSSHアクセスを行っておく
  • ポート番号の指定がある場合は、ポート番号指定でアクセスしておく

これで解決しました…(^_^;)

わたしの場合のポイントは、ポート指定でした


  1. コマンドプロンプトを立ち上げます
    わたしの場合、GitExtensionsを使ってたので Tools > Git bash から立ち上げました

  2. SSH のテスト接続を行います

$ssh git@[サーバアドレス] -p [SSHアクセスのポート番号]

そしたら、

Are you sure you want to continue connecting (yes/no)?

と聞かれるので、すかさず yes を!
c:\Users[ユーザ名].ssh\known_hosts にアクセス情報が登録されます

これで GitExtensions に戻って新規クローン開始したら、拒否されることなくソースを取得できました!

まとめ

最初に、

$ssh git@[サーバアドレス]

この状態で接続テストしてたんですけど、足りてないみたいでした

たったこれだけなんですけど、あまり情報が乗ってなかったように思いますので
未来の自分へのメモ…

comments powered by Disqus