1) リモコンパスワード

1) リモコンパスワード

パスワードが設定されているので、複数のサーバーにログインしてすべてのサーバーでコマンドを実行したいと思います。私はこれを試しました

#! /bin/bash
for HOST in $(cat servers.txt ) ; do
ssh -o $HOST "uname -a" PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no
done

しかし、これは役に立ちません。

ベストアンサー1

正式な順序を試してみましょう。

ssh -o PubkeyAuthentication=no \
    -o PreferredAuthentications=keyboard-interactive,password \
     $HOST "uname -a"  

PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=noコマンドを使用すると、sshはそれをリモートホストに送信するパラメータとして解釈します。


SSHを使用してリモートホストに接続するには、主に3つのソリューションを使用します。

1) リモコンパスワード

シンプルでシンプルです。毎回リモートホストのパスワードを入力します。
長所:設定不要
短所:毎回パスワードを入力する必要があります

2) パスワードのない鍵ペア

パスワードなしで秘密鍵と公開鍵のペアを作成し、リモートアカウントに公開鍵を配布する必要があります。
長所:パスワードが不要
短所:鍵が盗まれること

3) パスワードで保護された鍵ペア

パスワードで秘密鍵と公開鍵のペアを作成し、リモートアカウントに公開鍵を配布する必要があります。キーをメモリにロードするか(ssh-agent)、毎回パスワードキーを入力できます。
利点:キーが盗まれない
欠点:パスワード入力またはロード/アンロードが必要

どの接続を使用しているかが見つかりません。ssha hostあなたのコメント「」の「a」はスペルエラーのようです。 「passphrase」という単語を使用したので、秘密鍵にパスワードフレーズを設定したとします。これが使用された表現だからです。

私の次の推測はあなたがそれを試していることです

ssh $HOST uname -a

おすすめ記事