Windowsコマンドプロンプトからパスワード認証を使用してSSHを実行する


93

非対話的な方法でパスワードを提供することにより、Windowsコマンドラインからsshを実行する必要があります。鍵ベースの認証を実装して、次のようにsshコマンドを実行できます

ssh <user>@<host> <command>

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

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

ここに画像の説明を入力してください

それが可能かどうかはわかりません。ただし、同じようにいくつかの回避策があります。同じことを成し遂げるためにいくつかのアイデアを投げてください。


2
キーベースの認証を使用する方がはるかに優れています。
Greg Inozemtsev 2012

1
ええ、私はパスワードベースの認証も必要です。
バラチャンダル2012

12
@GregInozemtsevその場合、特に、純粋なセキュリティが要求されないテスト環境やその他の環境では、迅速でダーティなスクリプトがこのようなことを行う必要が生じることがあります。
TheJosh 2013

その基本的なオプションがない理由はわかりません。私は-pw superputty(パテ)コマンドを探していた:(私は私が代わりにsshのキーに移動しますね。
m3nda

回答:



160

sshpassのユーティリティは、まさにこのためのものです。まず、次のコマンドを入力してsshpassをインストールします。

sudo apt-get install sshpass

次に、ssh / scpコマンドの先頭に

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

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

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


8
rsyncでも動作します。
TheJosh 2013

15
タイトルには「windows」が含まれておらず、Linux / Unix / Macでこれを検索すると、リストの上位に表示されます。したがって、この質問にここで答えることで時間を節約できます。
Frobbit、2014年

1
Mac OS Xでうまく機能しましたsudo port install sshpass。を介してsshpassをインストールしました。ただし、何か他の理由でログインに問題がある場合、sshpassは静かに失敗する傾向がありました(エラーメッセージはありません)。したがって、sshpass最初にコマンドをデバッグしないでください。次にsshpass -p blah(など)を追加します。
RedRedSuit 14

5
実行されたシェルコマンドは(たとえば、「。bash_history」に)保存されることに注意してください..
Benjamin

4
アニッシュ-作者はウィンドウズを求めました、あなたはLinuxのオプションを与えました。
arka.b 2015年


4

Windowsソリューション

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

2

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.