暗号化されたSSHキーを使用して1日に数回SSHを実行したいと思います。これはuser@local
セキュリティと使いやすさの間の良いバランスです。user@remote
ssh-agent
ssh-add
また、実行する前に実行することを覚えておく必要はありませんssh
。初めてパスワードが必要なときにパスワードの入力を求められ、自動的にパスワードを8時間記憶したいと思います。
ssh-add
だから:私が知っている限り、あなたが望むパスワードを提供しないことを除いて、おおよそ使用されている場所で使用したいと思います。私の理解は正しいですか?もしそうなら、確かな解決策はパスワードを要求して実行してからパスワードを再出力するスクリプトを書くことです。これは正しいアプローチのように聞こえますか?もっと良い方法がありますか?そうでない場合、このスクリプトを起動するのに役立つアドバイスは1つか2つありますか?$SSH_ASKPASS
ssh-add
ssh
ssh-add
ssh
(私はLinuxコンソール、xterm、およびemacs*shell*
バッファでsshを使用しています。Xの観点からは、このソリューションには素晴らしい作業は必要ありません。)
答え1
私は本質的に同じ解決策を探していて、2つの異なる家庭で役に立つ2つの解決策を見つけました。
Michael J. Schultzは次のような記事を書いて問題を解決しました。SSHシェルエイリアス。それを使う
ssh-add -l > /dev/null || ssh-add
ssh-agentにロードされたキーがあることを確認し、そうでない場合はssh-addを実行してください。彼は自分が解決策を書く方法が自分のユースケースに適していましたが、誰にも当てはまるわけではないと指摘しました。
Raúl Benenciaは次のようなビデオを書きました。
odsa
特定のホストに必要なキーを自動的に見つけてssh-agentにロードします。
答え2
私が同じリクエストを処理する方法は、MikeがMichaelについて書いたのと似ています。
~/bin/sshmyvps
#!/bin/bash
if ! ssh-add -l|grep -q vpsaccess
then
ssh-add -t 2h ~/ssh-keys/vpsaccess.key
fi
ssh [email protected]
主な違いは、私が探しているものではないということです。どの特定のキーに対してのみキーをロードし、限られた時間だけ有効にします。
答え3
~からオープンSSH 7.2クライアント設定オプションがありますAddKeysToAgent
。
ファイルに以下を追加します~/.ssh/config
。
AddKeysToAgent yes
リリースノートから:
- ssh(1): "yes", "no", "ask" または "confirm" に設定できる AddKeysToAgent クライアントオプションを追加します。デフォルトは「no」です。有効にすると、認証中に使用された秘密鍵が実行されている場合はssh-agentに追加されます(「confirm」に設定すると確認が有効になります)。