web-dev-qa-db-ja.com

SSHセッションでローカルキーペアを転送する方法

SSHを使用してWebサイトを手動で展開し、github/bitbucketでソースコードを管理します。新しいサイトごとに、現在サーバー上で新しいキーペアを生成し、それをgithub/bitbucketに追加しているので、サーバーからチャンスを引き出すことができます。

私はcapistranoの機能に出会い、サーバーに更新をプルするためにローカルマシンのキーペアを使用しました。これはssh_options[:forward_agent] = true

新しいサイトごとにgithub/bitbucketにキーを追加することを避けるために、どうすればこのようなことができ、ローカルマシンのキーペアをSSHで接続しているサーバーに転送できますか。

41
Sathish Manohar

これは非常にシンプルで、完全なガイドがこちらにありました SSH転送の使用

本質的に、~/.ssh/configファイルが存在しない場合は作成する必要があります。

次に、ホストを追加します(ファイルにドメイン名またはIPアドレスを追加し、ForwardAgent yesを設定します)

サンプルコード:

Host example.com
    ForwardAgent yes

SSHの生活をずっと楽にします。

53
Sathish Manohar
  1. 〜/ .ssh/configを作成します
  2. それを入力します(ホストアドレスは、信任状の転送を許可するホストのアドレスです)。

    Host [Host address]
         ForwardAgent yes
    
  3. Ssh-agentをまだ実行していない場合は、実行します:

    ssh-agent
    
  4. そのコマンドからの出力を取得し、ターミナルに貼り付けます。これにより、エージェント転送が機能するために設定する必要がある環境変数が設定されます。オプションで、これとステップ3を次のように置き換えることができます。

    eval "$(ssh-agent)"
    
  5. Sshエージェントに転送するキーを追加します。

    ssh-add [path to key if there is one]/[key_name].pem
    
  6. リモートホストにログインします。

    ssh -A [user]@[hostname]
    
  7. ここから、そのキーを受け入れる別のホストにログインすると、それは機能します:

    ssh [user]@[hostname]
    
22
sdconrox

構成ファイルは非常に役立ちますが、エージェント転送のトリックはssh-addコマンド。これは、リモート接続の前、またはコンピューターの再起動後に最初にトリガーする必要があるようです。キーを永続的に追加するには、ユーザーdaminetregから次のソリューションを試してください。 buntuでssh-addを使用して秘密キーを永続的に追加

1
Faulancer