SSH接続時の2段階認証の入力回数を減らすことはできますか?
Linux環境では、OpenSSHの接続共有機能(ControlMaster / ControlPersist)を利用して、認証済みのSSH接続を一定時間再利用できます。
~/.ssh/config に以下を追記してください。
|
1 2 3 4 |
Host squidhpc.hpc.cmc.osaka-u.ac.jp squidhpda.hpc.cmc.osaka-u.ac.jp octopus.hpc.osaka-u.ac.jp ControlMaster auto ControlPath ~/.ssh/control-%C ControlPersist 60m |
最初の接続時は、通常どおり2段階認証が必要です。
最後のSSH接続を終了した後も認証済みの接続が最大60分間保持され、その間の再接続では認証済みの接続が再利用されます。
注意事項
- ・本FAQの手順はLinux環境を対象としています。Windowsで利用する場合は、WSL等のLinux環境をご利用ください。
- ・
ControlPersist の保持時間は60分以内に設定することを推奨します。
- ・共有端末では、認証済みのSSH接続が端末上でバックグラウンドに保持されるため、
ControlPersist の使用は推奨しません。
- ・保持時間の経過後、または保持されている接続が終了した場合は、次回接続時に再度2段階認証が必要です。
ControlPersist の保持時間は60分以内に設定することを推奨します。ControlPersist の使用は推奨しません。
補足:保持中の接続を終了する場合
ControlPersist により保持されているSSH接続を、保持時間の経過前に終了したい場合、
ターミナルのウィンドウを閉じるだけでは、認証済みのSSH接続がバックグラウンドに保持されることがあります。
保持中の接続を明示的に終了する場合は、利用しているLinux環境を終了するか、以下のコマンドを実行してください。
|
1 |
ssh -O exit ユーザ名@ホスト名 |
このコマンドを実行すると、指定したホストに対して保持されているSSH接続が終了します。
次回SSH接続時には、再度2段階認証が必要です。

