SSH 2段階認証

SSH 2段階認証

サーバーにアカウントが設定されていますsshが、SSHキーが設定されていても、サーバーにSSHでアクセスするたびにまだトークンコードを入力する必要があるため、これは非常に迷惑です。たとえば、コマンドラインでトークンコードを提供するために使用できるオプションがあるかどうか疑問に思いますssh。これらのオプションが利用可能な場合は、トークンコードを自動的に検索してsshに渡すことができます。毎回入力する必要があります。あるいは、bashに入力された他のオプションをシミュレートしてトークンを入力するように求められた場合は、別のプロセスにそれを入力させることに興味があります。ssh --token 1234 [email protected]

答え1

さて、スクリプトがまさにそのようなことをすることがわかりましたexpect。文字列を予測し、プロンプトに事前定義された回答を提供します。

#!/usr/bin/expect -f
spawn ssh remote.server.com
expect "password: "
send "P@$$w0rd\r"
interact

expectパッケージが必要ですapt install expect

関連情報