sshキーは初めてです。誰がどのように説明できますssh-agent bashし、ssh-add作品?
将来的にはその内部を理解する必要があります。
sshキーは初めてです。誰がどのように説明できますssh-agent bashし、ssh-add作品?
将来的にはその内部を理解する必要があります。
回答:
エージェントは、あなただけの彼らのロックを解除する必要があるように、メモリ内にあなたの鍵を保持するプログラムです一度代わりたびの、。ssh-agentはSSHキーに対してこれを行います。
ssh-agentを起動する通常の方法は次のとおりです。
eval `ssh-agent`–これにより、エージェントがバックグラウンドで実行され、現在のシェルインスタンスに適切な環境変数が設定されます。
(ssh-agentは、引数なしで起動すると、シェルによって解釈されるコマンドを出力します。)
exec ssh-agent bash– 現在のインスタンスを置き換えて、シェルの新しいインスタンスを開始しますbash。
(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回に制限され/etc/ssh/sshd_configていMaxAuthTriesます。これは、この値で変更できます。
ssh-add「&」で起動するときの秘密鍵のパスワードはどうですか?秘密鍵ファイルは保護されていないと思いますか?