SSH 터널(SSH Port Forwarding)을 통한 원격 액세스

3666 단어 SSH보안
SSH Port Forwarding을 사용하면 직접 액세스 할 수없는 서버에 발판 서버의 SSH를 통해 액세스 할 수 있습니다.



실행 예



포트 포워딩



다음 명령을 실행하면 로컬 PC의 바인드 포트에 대한 통신이 발판 서버를 통해 원격 서버로 전송됩니다. 바인드 포트는 그 밖에 사용하고 있지 않는 것을 지정하는 것. 이 작업을 수행 한 채로 바인딩 된 포트와 통신하면됩니다.
BIND_PORT=(ローカル PC にバインドするポート番号)
BASTION_USERNAME=(踏み台サーバーの SSH ユーザー名)
BASTION_PORT=(踏み台サーバーのホスト名またはアドレス)
REMOTE_HOST=(アクセスしたいリモートサーバーのホスト名またはアドレス)
REMOTE_PORT=(アクセスしたいリモートサーバーのサービスポート番号)
ssh -N -L ${BIND_PORT}:${REMOTE_HOST}:${REMOTE_PORT} ${BASTION_USERNAME}@${BASTION_HOST}

예) SSH 터널을 통해 원격 서버에 SSH로 로그인합니다.
REMOTE_USERNAME=(アクセスしたいリモートサーバーの SSH ユーザー名)
ssh -p ${BIND_PORT} ${REMOTE_USER}@localhost

예) SSH 터널을 통해 원격 서버의 MySQL 서버에 액세스합니다.
DB_USERNAME=(DB ユーザー名)
mysql -h localhost -P ${BIND_PORT} -u ${DB_USERNAME} -p -e "(SQL)"

ssh/scp로 직접 액세스



ProxyCommand 옵션을 사용하여 발판 서버를 통해 직접 액세스할 수도 있습니다.
ssh -o ProxyCommand="ssh ${BASTION_USERNAME}@${BASTION_HOST} -W %h:%p" \
   ${REMOTE_USERNAME}@${REMOTE_HOST}

scp도 마찬가지로 발판 서버를 통해 직접 파일을 전송할 수 있습니다.
scp -o ProxyCommand="ssh ${BASTION_USERNAME}@${BASTION_HOST} -W %h:%p" \
   (転送するファイル) <remote_user>@<remote_host>:<remote_path>

좋은 웹페이지 즐겨찾기