LoginSignup
7
4

More than 3 years have passed since last update.

SSM Session ManagerのSSHをWindowsで使う方法

Posted at

SSM Session Managerで待望のSSHが使える様になりましたね! めでたい!
しかし、公式マニュアルにはどうやらLinuxやMacでの設定方法しか書いてないので、Windowsでも簡単に使う方法を検証しました。
料金も無料だし、アクセス先制限もできるしもう使うしか無いですね!!

前提条件

  • windows 10
  • EC2インスタンスはSSMが使える様エージェント、ロール設定済み

インストール

たったの3ステップ!
1. AWS CLIインストール
公式にあるとおりインストーラーをダウンロードしてきてインストールする。

https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe

2. Session Manager Pluginインストール
公式にあるとおりインストーラーをダウンロードしてきてインストールする。

https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows /SessionManagerPluginSetup.exe

3. SSHの設定を追加する。
Windowsの場合、C:\Users\【UserName】\.ssh\configに以下を追加、もしくは追記する。

config
    # SSH over Session Manager
    host i-* mi-*
        ProxyCommand C:\Program Files\Amazon\AWSCLI\bin\aws.exe ssm start-session 【--profile あれば】 --target %h --document-name AWS-StartSSHSession --parameters "portNumber=%p"

オリジナルとの違いはsh -cが無くなってawsがフルパス、portNumberのシングルクォーテーションからダブルクォーテーションへ変更

AWS CLIでプロファイル使っているときはここで入れておく

完了!

参考文献

補足

接続に使う秘密鍵は接続先対象EC2に設定しているそのもの
呼び方はSession Manager for SSHとかでよいのだろうか?

端末とAWS間の通信方法

StreamUrlとして以下がAWS CLIのコマンド応答として返却されているためWebSocket(wss)でつながっている。

wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/data-channel/【IAMユーザー名を含むランダム列】?role=publish_subscribe

AWS CLIをその他の場所にインストールしていた場合にAWSコマンドの場所を調べる

where aws
7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4