
私は管理しているいくつかのサーバーに毎日 ssh を使用してログインしており、ログインには ssh キーを使用しています。パスワード付きの ssh キーを生成したため、1 日で初めて ssh を使用するときに、パスワードの入力を求められます。1 日を通して定期的にロックし直して、電源が入っているときに誰かが私のラップトップにアクセスしても、必ずしもサーバーにアクセスできないようにしたいのですが、そのためのオプションが見つかりません。また、キーをロックするコマンドもわかりません。そのようなコマンドがあれば、crontab に追加できます。
おそらく最善の選択肢は、単に SSH キーを使用しないことです。
答え1
おそらく、 というプログラムがssh-agent
稼働しているはずです。ssh
他のホストに移動すると、ssh
コマンドはそのホストと通信してssh-agent
、キーとパスフレーズを維持します。
デフォルトでは、ssh-agent
パスフレーズは永久に(ログアウトするまで)記憶されるため、キーごとにパスフレーズを 1 回だけ入力すれば済みます。
コマンドssh-add
が認識している ID のリストを管理するために使用されますssh-agent
。
が知っているキーのリストを表示するにはssh-agent
、次のように実行します。
ssh-add -l
それを作るために忘れるキーとパスフレーズを発行
ssh-add -D
その後、ssh
何らかのホストにログインすると、再度パスフレーズの入力を求められます。
また、一生パスフレーズの場合:
ssh-add -t 3600 # 1 hour
しかし、これは私の環境では機能しませんでした (または、何か間違ったことをしました)。N 時間ごとに実行する cron ジョブを設定します。通信に環境変数が必要であり、その変数は cron では設定されていないと思われるssh-add -D
ため、これは少し難しいかもしれません。ssh-add
SSH_AUTH_SOCK
ssh-agent
しかし、コメントにもあるように、外出中はノートパソコンを放置せず、ロックしておく必要があります。
答え2
$HOME/.bash_logout
ファイルに SSH キーをディレクトリから別のディレクトリに移動する行を記述するだけで済みます~/.ssh/
。次に、 でその逆を実行します$HOME/.bash_login
。