web-dev-qa-db-ja.com

Windowsでssh-addを実行する方法は?

#335 VPSにデプロイする をフォローしており、エピソードの終わり近くで、ssh-add githubリポジトリへのサーバーアクセスを許可します。

問題は、Windowsでどのように実行するかです。何をインストールする必要がありますか?

sshを実行してリモートサーバーにアクセスするには、PuTTYを使用できることを知っています。しかし、このコマンドはローカルで実行する必要があり、PuTTYを使用してこれを行う方法を知っています。

34
cqcn1991

Git for Windows をインストールしてからssh-add

ステップ3:鍵をssh-agentに追加

SSHキーを使用するようにssh-agentプログラムを構成するには:

GitHub for Windowsがインストールされている場合は、それを使用してリポジトリのクローンを作成し、SSHキーを処理できません。また、Windowsでgitコマンドを実行するのに適した方法であるGit Bashツールも付属しています。

  1. Ssh-agentが有効になっていることを確認します。

    • Git Bashを使用している場合は、ssh-agentをオンにします。

      # start the ssh-agent in the background
      ssh-agent -s
      # Agent pid 59566
      
    • Msysgitなどの別のターミナルプロンプトを使用している場合は、ssh-agentをオンにします。

      # start the ssh-agent in the background
      eval $(ssh-agent -s)
      # Agent pid 59566
      
  2. SSHキーをssh-agentに追加します。

    ssh-add ~/.ssh/id_rsa
    
40
RaymondChou

元の答え

Gitがインストールされており、gitのcmdフォルダーがPATHにあることを確認してください。たとえば、私のコンピューターでは、gitのcmdフォルダーへのパスは_C:\Program Files\Git\cmd_です

_id_rsa_ファイルが_c:\users\yourusername\.ssh_フォルダーにあることを確認してください

コマンドプロンプトをまだ再起動していない場合は再起動し、_start-ssh-agent_を実行します。 _id_rsa_が見つかり、パスフレーズの入力を求められます

2019年更新-Windows 10を使用している場合のより良い解決策:OpenSSHはWindows 10の一部として利用でき、cmd/powershellからのSSHの使用がはるかに簡単になります私の考えでは。また、以前のソリューションとは異なり、gitのインストールに依存しません。

  1. スタートメニューから_Manage optional features_を開き、リストに_Open SSH Client_があることを確認します。そうでない場合は、追加できるはずです。

  2. スタートメニューからServicesを開きます

  3. 下にスクロールして_OpenSSH Authentication Agent_>右クリック>プロパティにスクロールします

  4. [スタートアップの種類]を[無効]から他の3つのオプションのいずれかに変更します。私はAutomatic (Delayed Start)に設定しました

  5. Cmdを開き、_where ssh_と入力して、リストされている一番上のパスがSystem32にあることを確認します。鉱山は_C:\Windows\System32\OpenSSH\ssh.exe_にインストールされます。リストにない場合は、cmdを閉じて再度開く必要があります。

これらの手順を実行すると、ssh-agent、ssh-add、およびその他すべてのsshコマンドがcmdから機能するようになります。エージェントを開始するには、単に_ssh-agent_と入力します。

  1. オプションのステップ/トラブルシューティング:gitを使用する場合、_GIT_SSH_環境変数をwhere ssh_の出力に設定する必要があります前に実行した(例__C:\Windows\System32\OpenSSH\ssh.exe_)。これは、使用している(およびキーが追加/生成される)sshのバージョンとgitが内部で使用するバージョンとの不整合を防ぐためです。 これにより、これに類似した問題を防ぐことができます

このソリューションに関するいくつかの素晴らしい点:

  • コンピューターを再起動するたびにssh-agentを起動する必要はありません。
  • (ssh-addを使用して)追加したIDは、再起動後に自動的に追加されます。 (私にとってはうまくいきますが、c:\ Users\User.sshフォルダーに構成ファイルが必要になる場合があります)
  • Gitは必要ありません!
  • 任意のrsa秘密鍵をエージェントに登録できます。もう1つのソリューションは、_id_rsa_という名前のキーのみを取得します

お役に立てれば

76
tamj0rd2

Windowsでssh-addを実行するには、choco install gitを使用してgitをインストールできます。 ssh-addコマンドは、C:\Program Files\Git\usr\binがPATH変数として追加され、コマンドプロンプトが再起動されると認識されます。

C:\Users\user\Desktop\repository>ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)

C:\Users\user\Desktop\repository> 
4
030

ssh-addは、ローカルエージェントにキーを追加するコマンドです。 PuTTYには pageant という独自のエージェントプログラムがあり、同じ機能を提供します。

4
Mark O'Connor

Sshでgitを使用するためのキーをセットアップしようとしている場合は、常にIDファイルの構成を追加するオプションがあります。

vi ~/.ssh/config

Host example.com
IdentityFile ~/.ssh/example_key
2
Brian Ng

Git GUI for Windowsには、sshキーやリポジトリURLなどの場所に貼り付けることができるウィンドウベースのアプリケーションがあります。

https://gitforwindows.org/

1
Arne Olafson