생성된 명령어
호스트를 입력하면 명령어가 생성됩니다
SSH란?
SSH(Secure Shell)는 네트워크를 통해 원격 서버에 안전하게 접속하는 프로토콜입니다. 암호화된 통신을 사용하여 비밀번호, 명령어, 파일 등을 안전하게 전송할 수 있습니다. Linux, macOS에 기본 설치되어 있으며 Windows에서도 OpenSSH를 통해 사용할 수 있습니다.
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
| -p | 접속 포트 지정 (기본: 22) | -p 2222 |
| -i | 인증에 사용할 개인 키 파일 지정 | -i ~/.ssh/id_rsa |
| -v | 디버그 모드 (상세 로그 출력) | -v |
| -C | 데이터 압축 전송 | -C |
| -L | 로컬 포트 포워딩 | -L 8080:localhost:80 |
| -R | 원격 포트 포워딩 | -R 9090:localhost:3000 |
| -D | 동적 포트 포워딩 (SOCKS 프록시) | -D 1080 |
| -f | 백그라운드로 실행 | -f |
| -N | 원격 명령 실행 없이 연결만 유지 | -N |
| -o | SSH 설정 옵션 지정 | -o StrictHostKeyChecking=no |
터널링 종류
로컬 포트 포워딩 (-L)
로컬 컴퓨터의 포트를 원격 서버를 거쳐 다른 호스트의 포트로 연결합니다. 방화벽 뒤의 데이터베이스에 접근하거나 내부 웹 서비스를 로컬에서 사용할 때 유용합니다.
ssh -L 3306:db-server:3306 user@bastion-host
원격 포트 포워딩 (-R)
원격 서버의 포트를 로컬 컴퓨터의 포트로 연결합니다. 로컬에서 개발 중인 서비스를 외부에서 접근할 수 있게 할 때 사용합니다.
ssh -R 9090:localhost:3000 user@remote-host
동적 포트 포워딩 (-D)
로컬에 SOCKS 프록시를 생성하여 모든 트래픽을 원격 서버를 통해 전달합니다. 브라우저 프록시 설정과 함께 사용하면 원격 네트워크에서 웹을 탐색할 수 있습니다.
ssh -D 1080 user@proxy-server
SCP 사용법
SCP(Secure Copy)는 SSH를 기반으로 파일을 안전하게 복사하는 명령어입니다. 로컬에서 원격으로, 원격에서 로컬로 파일을 전송할 수 있습니다.
로컬 → 원격 파일 전송
scp ./file.txt user@remote:/home/user/
원격 → 로컬 파일 전송
scp user@remote:/var/log/app.log ./
디렉터리 재귀 복사
scp -r ./project user@remote:/home/user/
다른 포트로 SCP 전송
scp -P 2222 ./file.txt user@remote:/tmp/