GitにSSHで接続する方法

ツール
スポンサーリンク

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

簡単に説明です。

  • 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
  1. OpenSSHのサービス起動
  2. コマンドプロンプトから、「ssh-add C:\Users\(ユーザ名)\.ssh\id_rsa
  3. リンクファイル作成
    mklink “C:\Program Files\Git\etc\ssh\ssh_config” “C:\Users\(ユーザ名)\.ssh\config”

これでできそうなんですけど、毎回パスフレーズを聞かれてしまいます。。。なにか手順が不足しているのかな。また解決したら、この記事を更新します。

メモ書きでした。

コメント