秘密鍵を使用したSSH自動再接続スクリプト

提供されたSSHコマンドの設定を使用し、新たなポートフォワーディング設定(-R ai7:80:127.0.0.1:7890)を含むPowerShellスクリプトを更新します。このスクリプトは、指定されたリモートホストに対してSSH接続を確立し、接続が切断された場合に自動的に再接続を試みます。

PowerShellスクリプト例

# SSH接続パラメータ
$sshPort = 2222 # SSHポート
$sshUser = "screny" # SSHユーザー名
$sshHost = "ex-pa.pro" # リモートホストアドレス
$remoteForward = "-R ai7:80:127.0.0.1:7890" # 新たなリモートポートフォワーディング設定
$identityFile = "C:\path\to\your\private\key" # 秘密鍵のパス(必要に応じて)

# 無限ループで接続を維持
while ($true) {
    try {
        # SSHコマンドを実行、秘密鍵を指定(必要に応じて)
        ssh -i $identityFile -p $sshPort $remoteForward $sshUser@$sshHost
        Write-Host "SSHセッションが正常に開始されました。"
    } catch {
        Write-Host "接続に失敗しました。再試行します..."
    }
    Start-Sleep -Seconds 10 # 接続試行間のディレイ
}

スクリプトの使用上の注意:

  • $identityFile変数には、SSH接続に使用する秘密鍵のパスを正確に設定してください。秘密鍵が必要ない場合やパスワード認証を使用する場合は、このオプションを削除してください。
  • PowerShellスクリプトの実行ポリシーによっては、スクリプトを実行する前にポリシーを変更する必要があるかもしれません。これには、管理者権限でPowerShellを開き、Set-ExecutionPolicy RemoteSignedコマンドを実行することで対応できます(環境によって適切なポリシーは異なる場合があります)。
  • スクリプトをバックグラウンドで実行し続けることにより、SSH接続の監視と自動再接続が行われます。接続が切断された場合、スクリプトは自動的に再接続を試みます。

このスクリプトを使用することで、Windows環境においてもautosshのような自動再接続機能を実現することが可能です。

PowerShellスクリプトを保存して使用する方法は以下の通りです。

ステップ1: スクリプトをテキストエディタに貼り付ける

  1. まず、Windowsにインストールされているテキストエディタ(メモ帳、Visual Studio Code、Notepad++など)を開きます。
  2. 上記で提供したPowerShellスクリプトをコピーして、エディタに貼り付けます。

ステップ2: スクリプトを保存する

  1. ファイルを保存する際に、.ps1拡張子を使用してください。これはPowerShellスクリプトの標準的な拡張子です。例えば、AutoSSHReconnect.ps1という名前で保存できます。
  2. 保存場所は、スクリプトを簡単に見つけられる任意の場所で構いませんが、デスクトップや特定のプロジェクトフォルダーが便利かもしれません。

ステップ3: PowerShellスクリプトを実行する

PowerShellスクリプトを実行するには、以下の手順に従います。

  1. 管理者としてPowerShellを開く: スタートメニューを右クリックし、「Windows PowerShell (管理者)」を選択します。Windows 10以降では、「Windows Terminal (管理者)」を選択してから、ターミナル内でPowerShellを開くこともできます。
  2. スクリプトの実行ポリシーを確認または変更する: デフォルトで、PowerShellは信頼されていないスクリプトの実行を制限する場合があります。スクリプトを実行する前に、次のコマンドを使用して実行ポリシーを変更できます。
   Set-ExecutionPolicy RemoteSigned

このコマンドは、信頼されていないスクリプトの実行を許可するために必要です。セキュリティ上の警告が表示された場合は、続行する前に内容を確認してください。

  1. スクリプトを実行する: PowerShellで、スクリプトが保存されているディレクトリに移動します。cdコマンドを使用して、スクリプトの場所に移動できます。例えば、スクリプトがデスクトップにある場合は、以下のようにします。
   cd C:\Users\YourUsername\Desktop

次に、以下のコマンドを使用してスクリプトを実行します。

   .\AutoSSHReconnect.ps1

ここで、AutoSSHReconnect.ps1はあなたが保存したスクリプトのファイル名に置き換えてください。

注意点

  • スクリプトの実行時に秘密鍵のパスやその他のパラメーターが正しく設定されていることを確認してください。
  • セキュリティのため、実行ポリシーの変更は慎重に行ってください。スクリプトが信頼できるソースからのものであることを確認してください。

これらの手順に従えば、PowerShellスクリプトを保存し、Windows環境で使用することができます。

Bio

田端厚賢

名前:田端厚賢(Atsuyoshi Tabata)

WordPressを中心に企業様から委託を受けてサイトやサーバーの保守・管理、システム開発を行っています。

2024年4月より東大の松尾研でLLLMの開発プロジェクトに参加しています。

プロフィール詳細
Web制作依頼の詳細
お問い合わせはコチラ