batchiです。

アウトバウンドのポートが制限されていて、
80や443でしか外に出れない。

とはいえ、Windows環境にRDP接続したい。
どうするか。

そうですね。
ポートフォワードですね。

登場人物

クライアント

PC(Windows7)。
Teratermが入っている。

WindowsServer

2012R2。
クライアントからここへ接続したい。
ログインに必要なユーザー名とパスワードは知っている。

Linuxサーバ

Amazon Linux。
うまい具合に下準備がしてある。
うまい具合にWindowsServerへ疎通できる。

おおまかな手順

  1. Linuxサーバへ443ポートでSSHログインする
  2. クライアントのTeratermでSSH転送設定を行う
  3. クライアントからループバックアドレスへリモートデスクトップ接続を試みる

下準備:sshdで443ポートをlistenさせておく

Linuxサーバで下準備をします。

▼/etc/ssh/sshd_configを編集します。

#       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#

Port 22 #個人的に消すのはためらわれる。
Port 443 #追加します。
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#######以下省略##############

▼sshdを再起動します。

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

▼443ポートがリッスンしているか確認します。

# netstat -anp | grep sshd

443ポートでしか出られないんじゃ下準備自体が出来ないんじゃないかって?

まぁ。
そうですね。

違う環境から行うなり、一時的に許可してもらうなり、
頑張って下準備を完了させてください。

ステップ1:Linuxサーバへ443ポートでSSHログインする

下準備が済んでいれば、問題なくクライアントからTeratermでログイン出来るはず。
出来なければ、
なんとか頑張ってログインしてください。

ステップ2:クライアントのTeratermでSSH転送設定を行う

Teratermのコンソールで、[設定(S)] => [SSH転送(O)] => [追加(A)]と進みます。

[SSHポート転送]画面で、以下のように設定を行います。

SSH転送設定

ローカルのポート お好みのポート番号
リッスン ブランクでOK
リモート側ホスト WindowsServerのIP
ポート RDPで使うポート番号

ステップ3:クライアントからループバックアドレスへリモートデスクトップ接続を試みる

リモートデスクトップ接続で、
下記のように指定して接続を行います。

RDP

ポート番号はもちろんステップ2で指定したお好みのポート番号です。

接続後はいつも通りユーザー名とパスワードを入力して、
リモートデスクトップ接続が完了です。

こちらからは以上です。

TOP