LoginSignup
0
1

クラウド上のLinuxサーバを踏み台にしてSSHを経由してリモート環境へアクセスする

Last updated at Posted at 2022-07-27

SSHポート転送を利用すれば、リモート環境のSSHやリモートデスクトップへアクセスできます。
本記事ではリモート環境へSSH接続する手順を解説します。
この手法を使えば下記のようなことが実現できます。

  • 職場から自宅のLinuxサーバへのsshアクセス
  • 職場から自宅のRaspberry Piへのsshアクセス
  • ネットワークが繋がっていない別開発拠点のLinuxサーバへのsshアクセス

また、この手法を応用すれば下記のようなことも実現できます。

  • 職場から自宅のPCへのリモートデスクトップ接続
  • ネットワークが繋がっていない別開発拠点のPCへのリモートデスクトップ接続

概要

  1. リモートサーバのsshポート[22]をssh リモートポートフォーワーディングで踏み台Linuxサーバのポート[2222]として転送
  2. 踏み台Linuxサーバのポート[2222]をssh ローカルポートフォーワーディングでローカルのポート[2223]として転送
  3. ローカルPCのポート[2223]へアクセスすることにより、リモートサーバのsshへ接続可能
image

※ どこがリモートポートフォーワーディングで、どこがローカルポートフォーワーディングか混乱しやすいので気を付けて下さい。

リモートサーバから踏み台Linuxサーバへの接続

基本的な接続についてはSSH を使用した Linux インスタンスへの接続を参照下さい。

  • プライベートキーファイルをリモートサーバへ転送します。
    この手順ではプライベートキーファイルを~/.ssh/key-pair-sample.pemとします。
  • リモートサーバのsshポート[22]をssh リモートポートフォーワーディングでEC2のポート[2222]として転送します。

EC2のパブリックIPをxxx.xxx.xxx.xxxとします。
EC2はubuntuのAMIとします。(amazon linux の場合はユーザ名はubuntuではなくec2-userです。)

ssh -R 2222:localhost:22 -i ~/.ssh/key-pair-sample.pem ubuntu@xxx.xxx.xxx.xxx

接続時の警告を回避するオプションを追加しています。

ssh -t -t -R 2222:localhost:22 -i ~/.ssh/key-pair-sample.pem -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ec2-user@xxx.xxx.xxx

ローカルPCから踏み台Linuxサーバへの接続

  • この解説ではTeratermを使ってまずローカルPCから踏み台Linuxサーバへssh接続されていることを前提とします。
    接続についてはSSH を使用した Linux インスタンスへの接続を参照下さい。
  • EC2のポート[2222]をssh ローカルポートフォーワーディングでローカルのポート[2223]として転送します。
image
image

ポートフォーワーディングを経由してローカルPCからリモートサーバへ接続

  • ローカルポート[2223]へ接続します。
    image

応用

  • リモートデスクトップはTCPの3389番ポートを使用します。
  • 同様の手順で3389番ポートをポートフォーワーディングすればリモート環境のPCへリモートデスクトップ接続することが可能です。

👇参考URL

本記事へのリンク

image.png

https://docs.saurus12.com/tips/ssh_port_forward

[keywords]
ssh ポートフォーワーディング Linux リモートデスクトップ

更新日:2024年02月22日

0
1
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
0
1