SSHローカルポートフォワードでアクセスする方法(環境:Windows10/ツール:Teraterm)
今回は備忘録のために、Windows10でTeratermを用いて、SSHローカルポートフォワードでアクセスする方法についてまとめます
流れとしては[ローカル環境→Bastion→別環境]になります
(社内ではMacを利用している人が多く、Windowsの情報が少なかったために、試した方法・手順を記載しています)
※SSHローカルポートフォワードについてはこちらの記事がわかりやすいです(https://hrkworks.com/it/windows-tips/openssh/)
手順1:Teratermをダウンロードする
こちらからTeratermをダウンロードしてください(URL:https://ja.osdn.net/projects/ttssh2/)
(※2021年9月29日現在、2021年6月が最新となっています)
Tera Term 4.106を押下すると、exeファイルかzipファイルのどちらかを選択し、ダウンロードすることができます
手順2:アクセス情報を確認する
macでは[sudo ssh -L 123:XXX.XXX.XXX:456 -i pem_file.pem user@XX.XXX.XX.XXX -N]のような形でアクセスが可能なのですが、Windowsではこのままでは利用できません
コマンドプロンプトで起動できるようですが、私は起動できなかったのでTeratermを利用しています
※コマンドプロンプトを利用してのアクセスはこちらの記事を参考にしてください(https://blog.y-yuki.net/entry/2021/04/16/230000)
送られてきたコマンドから、必要な情報を抜き出します
必要な情報は以下の4つ
1)ローカルのポート:123
2)リモート側ホスト:xxx.xxx.xxx
3)リモート側ポート:456
4)ホスト:user@XX.XXX.XX.XXX
手順3:Teratermの設定をする
(※Teratermの設定をする前に、Bastionにアクセスするために必要なpemファイルをローカルの任意の場所に置いておく必要があります)
Teratermを起動させます
起動すると下記の画面のように接続情報を求められますが、今回は右上の[×]で消してしまいましょう
[設定]から[SSH転送]を選択してください
[SSH転送]を押下すると、[SSHポート転送]の設定画面が表示されます
[ローカルのポート]、[リモート側ホスト]、[リモート側ポート]にそれぞれ設定していきます
sudo ssh -L 123:XXX.XXX.XXX:456 -i pem_file.pem user@XX.XXX.XX.XXX -Nの場合→ローカルのポート:123、リモート側ホスト:xxx.xxx.xxx、リモート側ポート:456
設定ができたら[OK]ボタンを押下してください
その後、[OK]ボタンを押下してください
念のため、設定を保存しておきましょう
[設定]を押下し、[設定の保存]を押下して、任意の場所にファイルを保存してください
手順4:Teratermを使ってアクセスする
Teratermを起動します
[ホスト]を設定し、[TCPポート]を設定します
sudo ssh -L 123:XXX.XXX.XXX:456 -i pem_file.pem user@XX.XXX.XX.XXX -Nの場合→ホスト:user@XX.XXX.XX.XXX、ポート:22(こちらは固定)
[OK]を押下すると、[SSH認証]の設定画面が表示されます
[ユーザ名]は前の画面で設定した[ホスト]が引き継がれます
デフォルトでは認証方式が[プレインパスワードを使う]が設定されておりますが、[RSA/DSA/ECDSA/ED25519鍵を使う]を選択します
[秘密鍵]の左側にある[...]を押下し、pemファイルを選択します
その後、[OK]を押下します
手順5:指定URLにアクセスする
sudo ssh -L 123:XXX.XXX.XXX:456 -i pem_file.pem user@XX.XXX.XX.XXX -Nの場合→指定URL:XXX.XXX.XXX
アクセスができるかを確認します
もしエラーが出てしまったら?
1)Teratermの設定を見直す
2)hostsファイルを確認する
hostsファイルは[C:\Windows\System32\drivers\etc]にあります
[127.0.0.1 指定URL]を[End of section]の前の追記します
sudo ssh -L 123:XXX.XXX.XXX:456 -i pem_file.pem user@XX.XXX.XX.XXX -Nの場合→127.0.0.1 XXX.XXX.XXX
追記後、Teratermを再起動し、アクセスできるかの確認をします