同じスクリプトで2つのsshコマンドを使用してから、他のコマンドを引き続き使用する方法は?

同じスクリプトで2つのsshコマンドを使用してから、他のコマンドを引き続き使用する方法は?

自分のデータベースにログインするには、次の手順に従います。

ssh [email protected] 
password: 

接続すると、同じ端末でローカルデータベースサーバーにログインします。

ssh database_name 
password:

次にsuを実行します。

su - appuser

次に実際にsqlplusに接続します。

sqlplus ..

Unixスクリプトを使用してこれを自動化しようとしていますが、次のことがわかりません。

  1. 同じスクリプトで2つのSSHを使用する方法
  2. 「ssh Database_name」に進んでパスワードを入力できますが、コントロールはターミナルに戻り、残りのスクリプトは実行されません。
  3. 2番目のsshの後には、suコマンドを引数で始めて残りのコマンドを渡す必要があることを知っていますが、どうすればいいかわかりません。

ベストアンサー1

これに対する私のアプローチは2つあります。まずssh-keygen、コメントで@Avinashが述べた方法でSSHのパスワードなしのキーログインを設定します。次に、expect2 つの SSH セッションを段階的に実行して開始し、sqlplus制御を端末に戻します。

おすすめ記事