ssh

서버 로그인, 명령 실행 및 암호화 터널 생성.

실행 전 확인

처음 연결할 때 신뢰할 수 있는 경로로 호스트 키 지문을 확인하세요. -N은 전달만 수행하며 아래 포그라운드 터널은 Ctrl+C로 종료합니다. -L의 대상은 SSH 서버에서 이름을 해석하고 접속하며, -R의 대상은 이 컴퓨터에서 접속합니다. 원격 수신은 서버의 전달 정책을 따르고 루프백 바인딩은 GatewayPorts에도 영향을 받습니다. ExitOnForwardFailure는 초기 설정을 확인할 뿐 이후 모든 대상의 연결을 보장하지 않습니다. -D는 VPN이 아닌 SOCKS이며 클라이언트를 별도로 설정하고 지원되는 경우 원격 DNS도 설정해야 합니다. 상세 로그를 공유하기 전 주소, 사용자 이름, 키 경로를 가리세요.

사용 예제

원격 계정에 로그인하며 호스트 키 확인과 인증을 진행합니다.

ssh alice@server.example.com

포트 2222와 키 파일을 지정하고 IdentitiesOnly로 제시할 인증 키를 제한합니다.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

ProxyJump(-J)로 점프 호스트를 거쳐 대상에 연결합니다.

ssh -J alice@bastion.example.com alice@internal.example.com

로컬 전달: 로컬 포트 15432에서 서버를 통해 데이터베이스에 연결합니다.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

원격 전달: 서버 루프백 포트 18080에서 이 컴퓨터의 8080에 연결합니다.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

127.0.0.1:1080에 로컬 SOCKS 수신을 생성합니다.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

상세 진단 로그를 출력하고 연결 수립 제한 시간을 10초로 지정합니다.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

두 점프 호스트를 순서대로 거칩니다. 클라이언트가 각 홉을 인증하며 모든 호스트 키를 확인해야 합니다.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Host와 Include 적용 후의 유효한 클라이언트 설정을 출력합니다. 민감한 연결 정보가 포함될 수 있습니다.

ssh -G alice@server.example.com

원격 명령 하나를 실행한 후 로컬 셸로 돌아갑니다. 원격 셸 규칙에 맞게 따옴표를 사용하세요.

ssh alice@server.example.com 'uptime'

연결을 만들고 재사용한 후 상태를 확인하고 주 연결을 종료합니다. ~/.ssh를 보호하세요. 주 연결 종료 시 종속 세션도 종료됩니다.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

조회 가능한 항목, 키 알고리즘과 암호를 나열합니다. 클라이언트 지원이 서버의 수락을 보장하지는 않습니다.

ssh -Q help
ssh -Q key
ssh -Q cipher

known_hosts 항목과 지문을 확인합니다. 신뢰할 수 있는 별도 경로로 키 변경을 검증한 후 정확한 호스트와 포트 항목만 삭제하세요.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

스크립트에 비대화형 모드와 연결 시간 제한을 사용합니다. 인증과 호스트 신뢰를 미리 설정해야 하며 대화가 필요하면 실패합니다.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

ProxyCommand와 -W로 점프 호스트를 경유합니다. 일반적으로 ProxyJump가 더 간단하며 두 호스트 키를 확인해야 합니다.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

서버 루프백에 SOCKS 수신 포트를 만듭니다. 서버의 다른 로컬 사용자와 프로세스도 접근할 수 있으며 서버가 전달을 허용해야 합니다.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

암호화된 SSH 연결 유지 검사와 연결 시간 제한을 설정합니다. 무응답을 감지하지만 자동 재연결을 보장하지 않습니다.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

옵션 및 예제

-p port자주 사용

지정된 서버 포트에 연결합니다.

예제
ssh -p 2222 alice@server.example.com
-i identity_file자주 사용

지정된 개인 키 파일을 사용하십시오. 그것을 보호하고 절대 공유하지 마십시오.

예제
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

원격 로그인 이름을 지정합니다.

예제
ssh -l alice server.example.com
-J destination자주 사용

SSH 점프 호스트를 통해 연결합니다.

예제
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostport자주 사용

SSH 서버에서 도달한 대상으로 로컬 수신 포트를 전달합니다.

예제
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostport자주 사용

로컬 컴퓨터에서 도달한 대상으로 원격 수신 포트를 전달합니다. 서버 정책은 바인딩을 제한할 수 있습니다.

예제
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:port자주 사용

로컬 SOCKS 리스너를 생성합니다. 이를 사용하도록 각 클라이언트를 구성하십시오. 이것은 VPN이 아닙니다.

예제
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-N자주 사용

원격 명령을 실행하지 마십시오. 전달에만 유용합니다.

예제
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=value자주 사용

이 호출에 대해 ssh_config 옵션을 설정하십시오. 전달 설정이 성공했다고 해서 나중에 목적지에 도달할 수 있다고 보장되는 것은 아닙니다.

예제
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

대체 클라이언트 구성 파일을 사용하십시오.

예제
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvv자주 사용

진단 출력을 인쇄합니다. v 문자가 많을수록 디테일이 향상됩니다. 로그에는 민감한 연결 정보가 포함될 수 있습니다.

예제
ssh -vvv alice@server.example.com
-4 / -6

각각 IPv4만 또는 IPv6만 사용하십시오.

예제
ssh -4 alice@server.example.com
-C

압축을 요청합니다. 이미 압축된 트래픽은 개선되지 않을 수 있습니다.

예제
ssh -C alice@server.example.com
-T / -t

각각 의사 터미널을 비활성화하거나 요청합니다.

예제
ssh -t alice@server.example.com
-A

에이전트 전달을 활성화합니다. 손상된 원격 호스트는 전달된 에이전트로부터 서명을 요청할 수 있습니다. 신뢰할 수 있는 호스트에만 사용하세요.

예제
ssh -A alice@server.example.com
-G

호스트 및 일치 규칙을 평가한 후 유효한 클라이언트 구성을 인쇄합니다.

예제
ssh -G lab
-V

설치된 SSH 클라이언트 버전을 인쇄합니다.

예제
ssh -V

공식 참고 자료

검토일: 2026년 10월 27일