아래 설정을 하기 전에 해야할 일.
- 경유지 서버에 출발지 Server IP와 22 포트 방화벽이 허용되어 있어야 함.
■ 출발지 Server
아래 명령어를 ssh터널링을 실행할 계정에서 설치하자. 난 root에서 했다.
예를 들어 "ssh -fN -L 29237:129.200.9.11:9237 crizen@121.125.79.134" 이 명령어를 crizen 계정에서 실행할지 root에서 실행할지 결정하고 해당 계정 접속 후 아래 명령어를 실행해야 한다.
[root@localhost ~]# ssh-keygen -t rsa
1. 명령어 실행
2 ~ 4. 그냥 Enter
명령어 실행한 계정 홈디렉토리 밑에 .ssh
[root@localhost ~]# ll .ssh/
[root@localhost ~]# scp ~/.ssh/id_rsa.pub crizen@175.115.52.78:~/.ssh/authorized_keys
■ 경유 Server
ssh 공개키 확인
[root@localhost ~]# vim .ssh/authorized_keys
아래 내용을 보면 출발지 Server의 root 계정만 접속가능함.
■ 출발지 Server
rsa 키는 계정별로 생성되며 계정에 따라 접속이 달라짐
[root@localhost ~]# ssh 경유지IP
※ ssh 자동실행 스크립트
#!/bin/sh # autossh Tunneling by wglee 2022.01.21 LOCALE_PORT=30018 REMOTE_USER=crizen REMOTE_HOST=175.115.52.78 DESTINATION_PORT=30018 DESTINATION_HOST=10.94.50.40 YMD_HMS_BASIC=`date +%Y%m%d_%H%M%S` YMD_BASIC=`date +%Y%m%d` LOG_FILE=/root/logs/autossh_$YMD_BASIC.log { # $COMMAND is the command used to create the reverse ssh tunnel COMMAND="ssh -fN -L ${LOCALE_PORT}:${DESTINATION_HOST}:${DESTINATION_PORT} ${REMOTE_USER}@${REMOTE_HOST}" CNT=$(ps -ef | grep "$COMMAND" | grep -v grep | grep -v tail | wc -l) if [ $CNT -eq 0 ] then $COMMAND echo "ssh Tunneling restart $YMD_HMS_BASIC" else echo "ssh Tunneling is already running. $YMD_HMS_BASIC" fi } >> $LOG_FILE |
※ crontab 설정
# autossh Tunneling */10 8-12 * * 1-5 /root/autossh.sh * 12-20/1 * * 1-5 /root/autossh.sh |
※ 참고
https://system-monitoring.readthedocs.io/en/latest/ssh.html
'리눅스' 카테고리의 다른 글
AWK 사용법 (0) | 2022.08.24 |
---|---|
yum 동작원리 및 명령어 (0) | 2022.05.17 |
proxy server 구축 (0) | 2021.12.07 |
[rsync] rsync + sshpass (0) | 2021.11.23 |
[ssh] ssh 접속 포트 변경 및 ssh(sshd) 명령어 (0) | 2021.11.09 |