Reverse SSH

PrivateなNetworkに存在するデータに対してReverse SSHを使って接続する方法について

0. Reverse SSHとは

ReckonerのNetwork上に立っているSSH Serverに対して、PrivateなNetworkからReverse Port Forwardingによって接続を確立することにより、セキュアにReckonerからPrivateなNetworkにあるデータに対してアクセスする方法です。

1. 接続方法

PrivateなNetworkからReckonerのSSH Serverに向けてReverse Port Forwardingを実行します

この時に、アクセスするHostはSSH ServerのPublic IPになります

# example
export PRIVATE_KEY=~/path/to/private-key
export SSH_SERVER_PUBLIC_IP=xxx.xxx.xxx.xxx
export SSH_SERVER_PRIVATE_IP=xxx.xxx.xxx.xxx
export SSH_SERVER_PORT=xxxx
export LOCAL_PORT=xxxx
ssh -v -i ${PRIVATE_KEY} -R \*:${SSH_SERVER_PUBLIC_IP}:localhost:${LOCAL_PORT} -N [email protected]${SSH_SERVER_HOST}
# auto sshを使う場合
autossh -M 0 -f -N -R \*:${SSH_SERVER_PORT}:localhost:${LOCAL_PORT} [email protected]${SSH_SERVER_PUBLIC_IP} -g -i ${PRIVATE_KEY} -o ServerAliveInterval=10 -o ServerAliveCountMax=1 -o ExitOnForwardFailure=yes

2. integrationの設定

WorkflowがReckoner上のSSH Serverにデータを取得しに行くように設定します

この時に、設定するHostはSSH ServerのPrivate IPになります

Private IPでアクセスした場合のみ、データの取得が可能です

ex:) prestoの場合