web-dev-qa-db-ja.com

WindowsバッチファイルからPuTTYを使用してリモートサーバーにSSHで接続しますか?

Windowsでは、PuTTYを使用してSSH経由でリモートサーバーにログインします。バッチスクリプトを使用して、PuTTYを使用してリモートサーバーにSSH接続します。サーバーはLinuxベースのOSを実行しています。

以下のコマンドを使用してこれを行いました:

start C:\Windows\System32\PuTTY.exe -ssh server_name -l pankmish -pw wxyz

ただし、次のエラーが発生しました。

リモートホストに接続できません

代わりにこのコマンドを使用した場合:

start C:\Windows\System32\PuTTY.exe -ssh server_name -l user_name

すべてがうまくいき、ユーザー名「user_name」が含まれたPuTTYウィンドウが表示されます。正しいパスワードを入力すると、サーバーに接続できます。ただし、バッチスクリプトでは、プロンプトが表示されたときにパスワードを入力できません。

どうすればこれを解決できますか?

3
pankmish

コマンドラインを使用してパスワードを渡してみましたが、うまくいきました。

start C:\Users\pankmish\Downloads\PuTTY.exe -ssh server_name -l user -pw %1

以下のように私のWindows cmdからコマンドを実行しました

test_file.batパスワード

4
pankmish

PuTTYがインストールされ、PuTTY.exeがC:\ Windows\System32にあることを確認します。

メモ帳を開きます。次のように入力します

start PuTTY <username@ip/hostname> -pw <password>

上記をユーザー名、IP、パスワードに置き換え、ファイルを.batファイルとして保存します。それでうまくいくと思います。

4
xDogg

このコードを使用して、ユーザーからIPアドレスを入力します。ユーザー名とパスワードを二重引用符 ""で入力します。

 @ echo off 
 set/p id = "Enter IP Address:" 
 
 START "C:\ Program Files\PuTTY.exe" -ssh%id %-l username -pw "password" 
 
 @ echo 
1
Timothy Tran

この答え の同じトリックを試すことができます:

@if (@CodeSection == @Batch) @then

@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Start the PuTTY window with the user name only
start C:\Windows\System32\PuTTY.exe -ssh server_name -l user_name

rem Send the password to PuTTY window
%SendKeys% "wxyz{ENTER}"

goto :EOF

@end

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));

結果を投稿してください。

1
Aacini

これには2つの方法があります。

  1. パスワードを ""に入れて、コマンドプロンプトで次のように実行します。

start C:\ software\PuTTY.exe -ssh server_name -l user -pw "MyPassword $ 1"

OR

  1. 以下のコマンドでファイルConnection123.batを作成します

start C:\ software\PuTTY.exe -ssh server_name -l user -pw%1

ファイルを保存し、バッチファイルを次のように実行します。

start c:\ Connection123.bat MyPassword $ 1

1

以下のコマンドは、batファイル内からそのまま動作します。

"D:\ userdata\panshriv\Desktop\PuTTY.exe" "[email protected]" -pw "mypassword"

  • 私のPuTTY.exeはデスクトップにあります
  • 私のユーザー名は「pankaj」です
  • 私のパスワードは「mypassword」です
1
Pankaj S