質問

ssh接続にパスワードを送信することを期待して使用するにはどうすればよいですか。

パスワードはp @ sswordだった sshコマンドは ssh me@127.0.0.1

パスワードが入力されたときにパスワードを入力させたいと思ったらどうしますか

me@127.0.0.1のパスワード:

ssh(scp)を使用してサーバーにキーを配置する必要があり、パスワードを要求されるため、SSHキーペアを使用する適切なアクションは選択肢ではありません。

役に立ちましたか?

解決

常に<!> quot; proper <!> quot;を使用しました。ソリューションが、私は他の状況で期待を使用しました。

ここ次の提案が見つかりました:

#!/usr/local/bin/expect
spawn  sftp  -b cmdFile user@yourserver.com
expect "password:"
send "shhh!\n";
interact

他のヒント

公開鍵認証を使用し、パスフレーズなしで鍵を使用する方が簡単ではないでしょうか?

ソースマシンのユーザーがこれを行うと、RSAキーが作成されます

ssh-keygen -t rsa

〜/ .ssh / id_rsa.pubをターゲットマシンにコピーし、ターゲットユーザーのauthorized_keysファイルに追加します

あなたの最速の道(あなたがTclの専門家になりたいなら、それは...珍しい... 2009年に)は、おそらくautoexpectを使用することです。これがmanページです:

http://expect.nist.gov/example/autoexpect.man.html

要するに、<=>を起動し、sshセッションを実行し、必要なことを完了し、自動期待を停止してから、結果の混乱の上でキーボードが機能するまで叩きます:)キーを整理するための簡単なハック以上のものは、それでスコアをすでに知っているように聞こえます。

そしてこの質問には、探しているものに近い例が既に含まれています。

Cygwinには、binパッケージにはないautoexpectがあります。 setup.exeを実行して、expectを検索し、ソースチェックボックスをオンにします。結果のツリーが/ usr / srcに表示され、そこにexpect / expect / examplesディレクトリがあります。そこにはautoexpectスクリプトのコピーがあります。

キーソリューションは機能しません...キーはsshを実行している人のみが読み取り可能である必要があるためです。 XPでは、適切な権限を持つキー構造を作成できません。したがって、sshはそれらを読み取りません。これは変更された可能性がありますが、最後に確認したところ、まだ機能していません。

あなたがやろうとしていることをすることは不可能だと確信しています。標準入力ではなく、TTYから直接読み取られたパスワードを要求するほとんどの* nixアプリケーションは、パスワードをパイプで渡すことができません。他の人が述べたように、パスワードを要求しないようにSSHを構成できますこちら

明確な理由なしにダウン票を投じられた後、expectコマンドについてさらに調査を行ったところ、stdinの代わりに/ dev / ttyに送信するsend_ttyコマンドがあることがわかりました。あなたが望むことをしてください...私は以前、この機能を知らなかった。ただし、サーバーにキーを置くことをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top