Tera TermでSSMセッションマネージャーを通してSSHアクセスしてみる

Tera TermでSSMセッションマネージャーを利用して、プライベートサブネットのEC2にファイルを送信してみました。
2022.06.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!コンサル部のinomaso(@inomasosan)です。

SSMセッションマネージャーを使用すれば、プライベートサブネットにあるEC2 Linuxに、SSHなしで簡単に接続することができます。

もし、業務上の要件でローカル端末からEC2に直接ファイル送受信したい場合、SSH接続を検討する必要があります。 SSMセッションマネージャーでは、SSHありでも接続可能です。

Windows端末の場合はOpenSSHを使用して頂くのが一番手取り早いです。
ただ、Tera Termを利用したいケースもあるかと思いますので、今回は基本的な接続方法を試してみました。

SSMセッションマネージャーの準備

以下のブログを参考に準備しました。

上記ブログはAWS CLIのバージョンが古いため、最新のバージョン2をインストールしています。

尚、SSHのconfigは今回の検証では設定不要です。
もしOpenSSHを利用する場合に設定願います。

やってみた

Tera Termの標準機能ですと、SSMセッションマネージャーには対応しておりません。
そこで今回はSSMセッションマネージャーのポートフォワードを利用します。

コマンドプロンプトでポートフォワード実施

ローカル端末のコマンドプロンプトで、以下のコマンドを実行します。
--targetのインスタンスIDは、EC2コンソール等から調べて置き換えてください。

aws ssm start-session ^
    --target instance-id ^
    --document-name AWS-StartPortForwardingSession ^
    --parameters portNumber="22",localPortNumber="56789"

下記のようにWaiting for connections...まで表示されれば準備完了です。

このポートフォワードの設定により、ローカルポートの56789番を利用した通信はEC2インスタンスの22番に転送されます。

Tera TermでSSH接続

Tera Termで新しい接続で、以下のように入力していきます。
TCPポートは、ポートフォワードのローカルポートに合わせてください。

SSH認証が表示されますので、EC2インスタンスのユーザ名とキーペアを指定します。

SSH接続後にOSのプロンプトまで表示されることを確認できました。

Tera Termでファイル送信

Tera TermでSSH接続できましたので、念願のファイル送信を実施します。

ファイルからSSH SCPをクリックします。
上段のFromToで、ローカルのhogeファイルを/tmpに送信します。

hogeファイルがEC2の/tmpに送信されていることを確認できました。

参考ブログ

まとめ

Tera TermとSSMセッションマネージャを併用したSSH接続が可能であることを確認できました。
ただ、ローカル端末側の設定が結構面倒なので、S3経由でEC2とファイルのやり取りできないかを最初に検討して頂く方が良いかもしれません。

この記事が、どなたかのお役に立てば幸いです。それでは!