[SSH] ポート指定GitサーバにSSHでアクセスできない時(Windows/GitExtensions)
最近…
機械学習関係をやってたんですけど、Unityをまた触ることになっています
てんやわんやして、前回更新から2カ月も経ってしまった…(+o+)
今回また、タイトル名のGit/SSH関係でオロオロしたので、同現象で困ってる人の助けになれば幸いです
(現象)初回SSH接続に失敗する
環境
- Windows7/64bit
- GitExtensions
- キーペアを用いた認証でのSSH接続
- GitサーバへのSSHアクセスは、オリジナルのポート番号を割り当てている
こんな環境で作業していました(古いPCからアクセスしたかったので、Win7なのです…)
初回クローンするために、Gitサーバにアクセスしようと、秘密鍵を .ssh ディレクトリ以下にコピーしておきます
デフォルトのSSH秘密鍵置き場は
c:\Users[ユーザ名].ssh/id_rsa
ですGitExtensionsを利用してGitリポジトリからクローンしようとすると、以下のエラーが…
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and repository exists.
え、なんで…?
(解決)ポート番号ありでknown_hostsに登録する
アドレスも合ってる!
リポジトリもある!
サーバには公開鍵、クライアントには秘密鍵を置いてる!
これでなぜアクセス出来ないのか、解明に半日かかってしまいました…トホホ
自分のインフラ力の無さに涙が出そうです
答えを書きますと、
- 先にコマンドプロンプトからSSHアクセスを行っておく
- ポート番号の指定がある場合は、ポート番号指定でアクセスしておく
これで解決しました…(^_^;)
わたしの場合のポイントは、ポート指定でした
コマンドプロンプトを立ち上げます
わたしの場合、GitExtensionsを使ってたので Tools > Git bash から立ち上げましたSSH のテスト接続を行います
$ssh git@[サーバアドレス] -p [SSHアクセスのポート番号]
そしたら、
Are you sure you want to continue connecting (yes/no)?
と聞かれるので、すかさず yes を!
c:\Users[ユーザ名].ssh\known_hosts にアクセス情報が登録されます
これで GitExtensions に戻って新規クローン開始したら、拒否されることなくソースを取得できました!
まとめ
最初に、
$ssh git@[サーバアドレス]
この状態で接続テストしてたんですけど、足りてないみたいでした
たったこれだけなんですけど、あまり情報が乗ってなかったように思いますので
未来の自分へのメモ…