0

ssh を 1.2.3.4 に書き込んでから ls を呼び出すスクリプトを考えてみましょう。問題は、「ssh 1.2.3.4」という行が呼び出されると、パスワードが必要になるため、パスワードを入力してもフローが停止し、スクリプトが続行されないことです。パスワードが与えられた後、スクリプトを続行するにはどうすればよいですか?

どうも!

4

3 に答える 3

0

公開鍵認証を行いたい。ここにあなたを動かすためのいくつかのリソースがあります。

http://magicmonster.com/kb/net/ssh/auto_login.html

http://www.cs.rpi.edu/research/groups/vision/doc/auto/ssh/ssh_public_key_authentication.html

さらにいくつかのリンクを投稿しますが、十分な評判ポイントがありません。;) さらにヘルプが必要な場合は、「SSH 自動ログイン」または「SSH 公開鍵認証」でググってください。

于 2012-06-15T18:10:22.713 に答える
0

login_to という名前の単純なログイン bash スクリプトを作成し、実行権限を付与します (chmod 744 login_to)

#!/bin/bash

if [ $1 = 'srv1' ]; then
  echo 'srv1-pass' | pbcopy
  ssh root@11.11.11.11
fi

if [ $1 = 'foo' ]; then
  echo 'barbaz' | pbcopy
  ssh -t dux@22.22.22.22 'cd ~/somedir/someotherdir; bash'
fi

今はこのように使っています

login_to srv1

login_to foo

パスワードの入力を求められたら、pate (ctrl+v または command+v) するだけでログインできます。

于 2014-01-20T18:52:25.133 に答える
0

実際には ls をローカルで実行しようとしていますが、ssh セッションが開かれています。したがって、セッションが開かれるまで ls は実行されません。ls をリモートで実行する場合は、次を使用する必要があります

ssh username@host COMMAND

command は、実行するコマンドです。コマンドが呼び出されるとすぐに Ssh セッションが終了し、その出力を正常にキャプチャできます。

ssh を必要とするスクリプトには RSA 認証方式を使用することをお勧めします。

私はちょうどこのスクリプトを試しました:

#!/bin/sh
ssh vps1 ls
mkdir temp
cd temp
echo test > file.txt

そして、それは機能します。サーバーに接続して自宅を一覧表示できます。次に、ローカルに一時ディレクトリを作成し、そこに cd してから、内部に「test」を含む file.txt を作成します。

于 2012-06-15T14:04:40.803 に答える