SSH 명령어는 원격 서버에 안전하게 접속할 때 사용하는 명령어로, 다양한 옵션을 통해 접속 환경을 커스터마이징할 수 있다.
주요 SSH 옵션은 다음과 같다.
SSH 접속 시 사용할 개인 키 파일을 지정한다.
ssh -i "terraform-keypair.pem" ubuntu@3.36.116.76
SSH 명령어에서 다양한 구성 옵션을 한 번에 설정할 때 사용한다. 이를 통해 SSH 설정 파일에 지정할 수 있는 옵션을 명령줄에서 바로 지정할 수 있다.
ssh -o [옵션명]=[값] ubuntu@3.36.116.76
ssh -o StrictHostKeyChecking=no ubuntu@3.36.116.76
ssh -o ConnectTimeout=10 ubuntu@3.36.116.76
ssh -i "<SSH_KEY_PATH>" -o ProxyCommand="ssh -W %h:%p -i <PROXY_SSH_KEY_PATH> <PROXY_USER>@<PROXY_SERVER_IP>" <TARGET_USER>@<TARGET_SERVER_IP>
기본 SSH 포트가 아닌 다른 포트를 사용할 때 지정한다.
ssh -p 12345 ubuntu@3.36.116.76
SSH 클라이언트가 원격 서버에 접속하는 과정을 출력하며 디버깅에 유용하다.
ssh -v ubuntu@3.36.116.76
-v옵션의 경우 사용자 측에서 주로 무슨 일이 일어나고 있는지,
-vv옵션의 경우 양쪽에서 무슨 일이 일어나고 있는지 낮은 수준으로 보여주며,
-vvv의 경우 양쪽에서 무슨 일이 일어나고 있는지 모두 보여준다.
데이터 전송 시 압축을 활성화하여 전송 속도를 높인다.
ssh -C ubuntu@3.36.116.76
로컬 포트 포워딩을 설정해, 로컬 포트를 통해 원격 호스트에 접근한다.
ssh -L 8080:localhost:22 ubuntu@3.36.116.76
위 명령어의 경우, localhost의 8080포트에 접속하면 원격 서버(3.36.116.76 22번 포트)에 포워딩한다.
원격 포트 포워딩을 설정해, 원격 서버에서 로컬 호스트에 접근하도록 한다.
ssh -R 8080:localhost:3000 ubuntu@3.36.116.76
원격 서버에서 8080 포트로 접속 시 로컬의 3000 포트에 포워딩한다.
Enable Debugging Mode in SSH to Troubleshoot Connectivity Issues