GitコマンドでWindowsのPCからssh接続で接続する方法のメモ書きです。鍵ファイルの作成については、割愛しています。
鍵ファイルの作成については、以下の記事を参考になるのではないかと思います。

TortoiseGitでssh接続を設定する
Xserver等のリモートサーバに作成したGitのレポジトリに、ローカルマシンのTortoiseGitからSSHで接続する手順を説明します。 前提条件・リモートサーバにGitレポジトリを作成済みであること・ローカルマシンに、GitとTort...
環境
- Windows 10
- Git 2.26.2.windows.1
ssh用のconfigファイルの作成
Windowsの「C:\Users\(ユーザ名)\.ssh」フォルダに、以下のような内容のconfigファイルを作成します。
configの設定なしでssh接続する場合、以下のようなコマンドを打ちます。
git clone (接続ユーザ名)@(ホスト名):(ポート番号)/home/~/sample.git/
configを記載することで、上の接続文字列を省略することができます。
git clone (configに記載したHostの文字列):/home/~/sample.git/
ではconfigファイルの内容です。
Host gitHost
HostName sample.com
User sampleUser
IdentityFile C:/Users/(ユーザ名)/.ssh/id_rsa
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
AddKeysToAgent yes
HostName sample.com
User sampleUser
IdentityFile C:/Users/(ユーザ名)/.ssh/id_rsa
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
AddKeysToAgent yes
簡単に説明です。
- Host:接続文字列
- HostName:サーバのホスト名
- User:サーバに接続するときのユーザ名
- IdentityFile:sshの鍵ファイル
- Port:ssh接続のポート番号
- TCPKeepAlive:KeepAliveメッセージを送付するかの設定
- IdentitiesOnly:configファイルに指定されたキーファイルのみ使用するかの設定
秘密鍵(rsa)のファイルは「.ssh」フォルダの配下に保存しておきます。
config設定でssh接続
上の設定では、以下でgitにssh接続できるようになります。少しは簡略化されたのではないでしょうか。
git clone gitHost:/home/~/sample.git/
パスフレーズを自動で入力できるようにしたい。(未解決)
configファイルに以下の設定を追加して、ssh-addコマンドで秘密鍵の情報を登録するとパスフレーズを省略できるようなのでやってみました。
AddKeysToAgent:true
- OpenSSHのサービス起動
- コマンドプロンプトから、「ssh-add C:\Users\(ユーザ名)\.ssh\id_rsa
- リンクファイル作成
mklink “C:\Program Files\Git\etc\ssh\ssh_config” “C:\Users\(ユーザ名)\.ssh\config”
これでできそうなんですけど、毎回パスフレーズを聞かれてしまいます。。。なにか手順が不足しているのかな。また解決したら、この記事を更新します。
メモ書きでした。
コメント