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

複数のウィンドウのパスワードを入力する方法は?

Vagrantマシンを起動し、複数の端末を開き、新しく開いたすべての端末でsshを介してVagrantマシンに接続するスクリプトがあります。私の問題は、約5つの端末が必要であり、各端末のパスワードを手動で入力したくないということです。メインターミナルで一度だけパスワードの入力を求められ、sshコマンドに同じパスワードを使用する方法はありますか?

#!/bin/bash
cd /home/kkri/public_html/freitag/vagrant
vagrant up
for run in $(seq 1 $1)
 do
  gnome-terminal --window-with-profile=dark -e "ssh [email protected] -p 2222" --$
 done
gnome-terminal --window-with-profile=git          
clear
echo "~~~ Have fun! ~~~"

承認された回答:

一般に(vagrantまたはその他のシステム固有の詳細を無視して)最善の策は、SSHキーを使用して認証を設定し、ssh-agentを実行することです。 。次に、次のようなものでsshセッションを開きます。

# load the key to the agent with a 10 s timeout
# this asks for the key passphrase
ssh-add -t10  ~/.ssh/id_rsa  
for x in 1 2 3 ; do 
    ssh .... 
done

または、キーを使用できない場合は、sshpassを使用して何かをリグすることができます 。

read -p "Enter password: " -s SSHPASS ; echo
for x in 1 2 3 ; do 
    sshpass -e ssh ...
done
unset SSHPASS

端末が中央にある場合でも、これにより、端末の環境に設定されたパスワードが残ります。これを回避するには、パスワードを一時的にファイルに保存します。

read -p "Enter password: " -s SSHPASS ; echo
PWFILE=~/.ssh/secret_password
cat <<< "$SSHPASS" > "$PWFILE"
unset SSHPASS
for x in 1 2 3 ; do 
    sshpass -f "$PWFILE" ssh ...
done
shred --remove "$PWFILE"

パスワードがディスクにヒットする可能性があるため、これはまだ最適ではありません。そのため、キーの方が適しています。


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

  2. OpenStack用のWindowsイメージを作成する方法

  3. Jujuの複数のデプロイメント環境を構成する方法は??

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

  2. プル時にgitがパスワードを要求しないようにする方法は?

  3. 複数のユーザーのディレクトリを chown する方法は?

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

  2. リモートパスワードの入力を求める SSH による Rsync

  3. 一部のユーザーのパスワードを使用した SSH ログインを無効にする方法は?