web-dev-qa-db-ja.com

Windowsコマンドプロンプト経由でパスワード認証を使用してsshを実行する

sshwindowsコマンドラインから実行する必要があります。パスワードを非対話形式で提供します。キーベースの認証を実装し、sshコマンドを次のように実行できます。

ssh <user>@<Host> <command>

次のようなコマンドはありますか

ssh <user>@<Host> -P <password> <command>

enter image description here

実行可能かどうかはわかりません。ただし、同じ問題を回避する方法がいくつかあります。同じことを達成するためにいくつかのアイデアを投げてください。

87
Balachandar

PuTTYのplinkには パスワードのコマンドライン引数 があります。 この質問への回答 :Expect(Windowsで利用可能)を使用するか、PythonでParamikoを使用してランチャーを作成することで、いくつかの他の提案が行われました。

11
Greg Inozemtsev

sshpass ユーティリティはまさにこれを目的としています。まず、次のコマンドを入力してsshpassをインストールします。

Sudo apt-get install sshpass

次に、ssh/scpコマンドの前に

sshpass -p '<password>' <ssh/scp command>

このプログラムは、Linuxを使用する場合に最も簡単にインストールできます。

代わりに、SSHのより安全な公開鍵認証(sshコマンドを使用)の使用を検討する必要があります。

160
Anish Bhatt

この期待スクリプトはどうですか?

#!/usr/bin/expect -f
spawn ssh root@myhost
expect -exact "root@myhost's password: "
send -- "mypassword\r"
interact
24

Windows解決策

  1. インストール PuTTY
  2. Windows-Key + Rを押します
  3. PuTTY.exe -ssh [username]@[hostname] -pw [password]と入力します
1
optimiertes

PowerShellソリューション

Posh-SSHの使用:

New-SSHSession -ComputerName 0.0.0.0 -Credential $cred | Out-Null
Invoke-SSHCommand -SessionId 1 -Command "Nohup sleep 5 >> abs.log &" | Out-Null
0
Owain Esau