Windowsの標準機能を使用してPowerShellからSSH接続を行う方法は、特にWindows 10およびWindows Server 2019以降のバージョンで容易に行えます。以下に、標準のSSH
クライアントを使用してPowerShellからSSH接続を行う方法を説明します。
通常、最新のWindowsには既にインストールされていますが、念のためインストールされているか確認します。
PowerShellで標準のssh
コマンドを使用して接続します。
# 接続情報の設定
$server = "サーバーのIPアドレス"
$username = "ユーザー名"
$password = "パスワード"
$command = "ls -l"
# パスワードを使用した接続
# PowerShellからsshコマンドを使用
$sshCommand = "ssh $username@$server '$command'"
# 実行
Invoke-Expression $sshCommand
SSH
接続時のパスワード入力自動化パスワードをスクリプトに直接書くのはセキュリティ上問題があるため、鍵認証を使用する方法が推奨されますが、簡易的にパスワードをスクリプト内で使用する場合は以下の方法があります。
鍵ペアを生成する
以下のコマンドをPowerShellで実行して、SSHキーを生成します。
ssh-keygen -t rsa -b 2048
公開鍵をサーバーにコピーする
公開鍵を対象サーバーにコピーします。
ssh-copy-id -i ~/.ssh/id_rsa.pub $username@$server
接続を実行する
$server = "サーバーのIPアドレス"
$username = "ユーザー名"
$command = "ls -l"
# 鍵認証を使用して接続
$sshCommand = "ssh -i ~/.ssh/id_rsa $username@$server '$command'"
# 実行
Invoke-Expression $sshCommand