GNU/Linux >> Linux の 問題 >  >> Linux

バッチ モードで SSH および SCP を実行する方法 (パスワードレス ログインが有効な場合のみ)

パスワードなしのログインを有効にすると、SSH を使用してリモート マシンでバッチ モードでコマンドを実行するか、SCP を使用してリモート マシンとの間でファイルをコピーできます。

パスワードを使用しないログインに問題がある場合、バッチ プログラムがループまたはタイムアウトになる可能性があります。

この記事では、パスワードを待たずに操作できる場合にのみ、ssh/scp に操作を指示する方法を確認します。

これを試す前に、ローカル間でパスワードなしのログインが設定されていることを確認してください。ホストとリモート ホスト。

1. ssh -o “BatchMode yes” 使用例

パスワードなしのログインを有効にしている場合、次の例はリモート ホストにログインし、パスワードを要求せずに who コマンドを実行します。

local-host# ssh ramesh@remote-host who

パスワードなしのログインが有効になっていない場合、以下に示すように、リモート ホストでパスワードの入力を求めるプロンプトが表示されます。

local-host# ssh ramesh@remote-host who
ramesh@remote-host's password: 

ssh -o “BatchMode yes” を使用すると、パスワードなしのログインが有効になっている場合にのみ ssh が実行され、それ以外の場合はエラーが返されて続行されます。

local-host# ssh -o "BatchMode yes" ramesh@remote-host Command

SSH を使用したバッチ モード コマンドの実行 — 成功例

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
..
[Note: This will display the output of remote-host's who command]

SSH を使用したバッチ モード コマンドの実行 — 失敗例

local-host# ssh -o "BatchMode yes" ramesh@remote-host who
Permission denied (publickey,password).

注: -o "BatchMode yes" を使用しなかった場合、上記のコマンドはリモート ホスト上の自分のアカウントのパスワードを要求します。これが、BatchMode の yes オプションを使用する場合の主な違いです。

2. scp -B オプションの使用例

scp -B オプションを使用すると、パスワードなしのログインが有効になっている場合にのみ scp が実行されます。それ以外の場合は、パスワードを待たずにすぐに終了します。

$ scp -B file root@IP:PATH

バッチ モードの SCP — 成功例

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
yp.conf            100%   84     0.1KB/s   00:00

バッチ モードの SCP — 失敗例

この例では、認証なしで scp が可能な場合、コマンドが実行され、それ以外の場合は以下のように終了します。

local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp
Permission denied (publickey,password).
lost connection

Linux
  1. パスワードなしでSSHログインを設定する方法

  2. SSH2 から OpenSSH にパスワードなしで SSH および SCP を実行する方法

  3. CentOS / RHEL :ダイレクト ルートおよび非ルート ユーザー ssh ログインを無効化 / 有効化する方法

  1. Ssh –すべての入力と出力がリダイレクトされたときにSshはどのようにパスワードを要求しますか?

  2. パスワードでSSHログインを無効にする方法

  3. Linux でパスワードなしの SSH ログインをセットアップする方法

  1. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  2. CentOS/RHEL で「パスワードレス」SSH ログイン用の SSH キーをセットアップする方法

  3. リモート マシンに ssh した後、scp でローカルに戻すにはどうすればよいですか?