반응형
1. 시작
보안 환경이 있는 곳에서 내 PC를 사용할 일이 생겼다.
SSH사용은 허가하지만 원격(Anydesk, TeamViewer..) 앱과 Mail사이트, 클라우드사이트(aws, synologyQuickConnect) 등을 이용할 수 없었고 사용적발 시 곧바로 전화가 온다..(쓰지 말라고..)
Python으로 GPU를 사용해야 하지만 본사와 현장에 GPU가 있는 컴퓨터가 없었기 때문에 내 PC를 사용해야만 했다.
하지만 우리 집 네트워크 구성은 아래와 같이 구성되어 있어서 곧바로 접속할 수가 없었다.
U+ 공유기에 SynologyNAS 서버를 DMZ를 설정해 둬서 Synology에는 곧바로 접속할 수 있었지만, 내 `Windows_PC`에는 Synology에 SSH로 접속한 다음 또 SSH로 Windows_PC로 접속해야만 한다.
VScode의 Remote SSH로 접속하려면 한 번에(?) 접속하는 방법을 찾아보다 ProxyJump를 알게 되었다.
2. 구성
2.1. U+ 공유기 설정
- DMZ를 Synology 서버의 주소로 설정한다.
- DHCP 고정 IP 또한 설정한다.
2.2. IPtime 공유기 설정
- IPtime에서 DMZ를 Windows_PC로 설정한다.
- 이 또한 DHCP 고정 IP를 설정한다.
- (선택) DDNS 주소를 생성한다. 어차피 DHCP고정 IP로 생성해 줘서 상관없지만 ip주소를 사용하기 싫으면 DDNS주소를 생성한다.
2.3. Synology NAS 설정
- DDNS주소를 설정한다.
- sshd_config를 아래와 같이 주석을 제거하고 수정한다.
- 위치 `/etc/ssh/sshd_config`
- SSHD 재시작
Port 22
# 포트를 설정한다. 기본은 22
AllowTcpForwarding yes
TCPKeepAlive yes
2.4. Windows_PC설정
- SSH Server를 설치한다.
- Windows 또한 sshd_config를 위 Synology NAS 설정과 동일하게 설정한다.
주의 : 통신사가 SK인 경우 22번 포트를 막아두어 꼭 다른 포트로 변경해야 합니다.
- 위치 `C:\ProgramData\ssh\sshd_config`
- SSHD 재시작
3. 클라이언트 PC 설정
이제 밖에서 접속을 시도하는 클라이언트 PC에서 설정을 해준다.
3.1. config 설정
- 위치 Windows의 경우 `C:\Users\유저명\.ssh\config`
- 위치 Linux의 경우 `~/.ssh/config`
- 아래 내용과 같이 설정해 준다.
Host Synology
HostName Synology_DDNS
User Synology_User
Port Synology_SSH_Port
Host Windows_PC
HostName IPtime_DDNS
User Windows_PC_User
Port Windows_PC_SSH_Port
ProxyJump Synology
- 혹시 User명을 모르면 Synology는 자신의 DSM 접속주소와 패스워드
- 윈도우의 경우 자신이 컴퓨터 킬 때 나오는 유저명이다
- MS에 로그인되어 있으면 터미널을 켜보면 `PS C:\Users\유저명>` 이렇게 나온다.
4. 접속
4.1. 터미널 접속
터미널에서 접속하려면 아래와 같이 입력한다.
ssh Windows_PC
그럼 Synology의 패스워드를 입력하고 Windows_PC의 패스워드를 입력하면 접속한다.
4.2. VScode Remote SSH 접속
- `Ctrl + Shift + P` 입력
- 그럼 Synology의 패스워드, Windows_PC의 패스워드를 입력하면 접속 완료
5. 멍청한 삽질기록
- `SSH -L 3333:my.iptime.org:22 synology_user@my.synology.me -p 4444` 와 같이 연결하여 클라이언트에서
`ssh windows_user@my.iptime.org -p 3333` 으로 접속하는 방법을 처음엔 생각했었는데
`async io completed with error: 10060` 오류로 엄청난 삽질을 했었다. - 나와 같은 생각으로 지금 삽질 중이면 proxyJump 방법을 사용해 보자.
반응형
'Linux | PowerShell' 카테고리의 다른 글
[부팅불가 해결]Ubuntu22.04 Nvidia 그래픽 드라이버 제거/설치 및 삽질기 (2) | 2023.11.02 |
---|---|
[Ubuntu] apt upgrade 롤백(취소하기) (2) | 2023.11.01 |
[Ubuntu] 부팅시 스크립트 설정 (0) | 2023.08.12 |
[Ubuntu] 리눅스 별칭(alias) 사용 (0) | 2023.08.12 |
[PowerShell] 윈도우에서 '.log' 파일 실시간으로 보기 (0) | 2023.05.23 |