ssh -i(identity_file)のプレーンテキスト引数のパスワード

ssh -i(identity_file)のプレーンテキスト引数のパスワード

パスワードなしでログインするにはssh keygenを使用することをお勧めしますが、怖いのは、誰かが自分のコンピュータに何らかの方法でアクセスしたときに保存されたキーを使用してすべてのサーバーにログインできることです。

だから私はIDファイルにパスワードを設定し、スクリプトが非常に長くて難しい任意のパスワードを使用してプレーンテキストでsshログインを入力するようにしてプロセスを少し曖昧にするつもりです。

これまで、以下のようにssh-keygenを作成し、以下のように.pubの内容をサーバーにコピーしました。

❯ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/username/.ssh/id_ed25519): testssh
Enter passphrase (empty for no passphrase):          <-- This is NOT empty
Enter same passphrase again:                         <-- This is NOT empty
Your identification has been saved in testssh
Your public key has been saved in testssh.pub
The key fingerprint is:
SHA256:vWch2CbFW50FShjCZDJKW59x7iPdXc44FoYFxmr7XIM username@arch

❯ cat ~/testssh.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'
[email protected]'s password: 

次に、次のようにキーのパスワードを尋ねます。

❯ ssh -i testssh [email protected]
Enter passphrase for key 'testssh':

しかし、このようなことが可能かどうかを知りたいです。

❯ ssh -i testssh --passphrase="SomeIncredibleLongAndRandomizedPasswordThatIsMeantToBeUsedForScripts" [email protected]

問題は、IDファイルを使用してパスワードをパラメータとしてログインする方法です。

私の主張を明確に表現できたらいいのに

ベストアンサー1

OpenSSHクライアントを使用していると仮定すると、次のコマンドを使用してこれを実行できます。SSHパス

sshpass -P "Enter passphrase for key" \
 -pSomeIncredibleLongAndRandomizedPasswordThatIsMeantToBeUsedForScripts \
 ssh -i testssh [email protected]

もちろん、できるといって必ずしなければならないという意味ではありません。ご質問に対する回答をご検討ください。

おすすめ記事