Sshキーは初めてです。誰でもssh-agent bash
およびssh-add
機能しますか?
今後、その内部を理解する必要があります。
agentは、キーをメモリに保持して、ロックを解除するだけでよいようにするプログラムです1回、毎回ではなく。 ssh-agentはSSHキーに対してこれを行います。
startingssh-agentの通常の方法は次のとおりです。
eval `ssh-agent`
–これはエージェントをバックグラウンドで実行し、currentShellインスタンスに適切な環境変数を設定します。
(ssh-agentは、引数なしで起動すると、シェルによって解釈されるコマンドを出力します。)
exec ssh-agent bash
– bash
シェルのnewインスタンスを開始し、現在のシェルを置き換えます。
(1つ以上の引数を指定すると、ssh-agentは何も出力せず、指定されたコマンドを開始します。この場合、bash
シェルですが、技術的には何でもかまいません。)
2番目の方法は、ターミナルウィンドウを閉じるときにssh-agentを自動的に強制終了するため、推奨される場合があります。 (eval
で開始すると、エージェントは実行されたままですが、アクセスできなくなります。)
ただし、これは空のエージェントを開始するだけです。実際に使いやすくするには、キーをロック解除するssh-addを使用する必要があります(通常は~/.ssh/id_*
)をエージェントにロードし、sshまたはsftp接続からアクセスできるようにします。
さらに、セッションの開始時にいくつかのキーを追加することもできます。
~/.bashrc
ファイルを編集して、次を追加します。
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
ssh-add -l
でキーを確認してください
現在のssh-agentセッションはssh-agent -k
で停止できます
Ssh-agentと.bashrcについて知っておくべきことは、あまり多くのキーをロードしないことです。 sshデーモンのデフォルトの試行回数は6に制限されています。これは、MaxAuthTries
値を使用して/etc/ssh/sshd_config
で変更できます。