한줄 정의
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하거나 파일 전송을 가능하게 하는 응용프로그램 또는 그 프로토콜을 가리킨다.
관련 키워드
SSL/TLS, SFTP(SSH File Transfer Protocol), FTP, vty(/etc/ftpusers), rsh, rlogin, Telnet, 22/TCP, sshd_config
기본 사용 구문 및 옵션
[기본경로] /usr/bin/ssh
#ssh [옵션] [주소]
옵션 | 설명 |
-1 | ssh version1.x로 연결시도 |
-2 | ssh version2.x로 연결시도(ssh1.x와 ssh2.x는 호환x) |
-4 | ipv4 주소만 사용 |
-6 | ipv6 주소만 사용 |
-l | 원격 호스트 로그인에 사용할 계정명 |
-p | 원격 호스트 연결 포트 지정(기본 22/tcp) |
-L | 로컬 포트 포워딩 |
-R | 리모트 포트 포워딩 |
사용 예제
-ㅣ, -p 접속정보지정
#SSH -l "username" -p "Port Number" "접속 주소"
#ssh -l root -p 22 192.168.2.210
#ssh -l root 192.168.2.210
#ssh -l itpig -p 10022 192.168.2.208
-R, -L 포트포워딩
#SSH -L "로컬 리스닝 포트":"포워딩할 호스트 주소":"포워딩할 호스트 포트 번호" "접속주소"
#SSH -R "원격 리스닝 포트":"포워딩할 호스트 주소":"포워딩할 호스트 포트 번호" "접속주소"
#ssh -L 4885:192.168.10.10:80 192.168.10.10
로컬 포트포워딩을 통해 클라이언트측 4885 포트를 통해 SSH 서버(192.168.10.10)의 80포트로 접속가능하도록
SSH연결을 통한 포트 포워딩(포트지정을 하지 않으면 기본 22/tcp 사용)
#ssh -R 4885:192.168.10.10:80 192.168.10.20
리모트 포트포워딩을 통해 SSH 서버(192.168.10.10)의 4885 포트를 통해 클라이언트측(192.168.10.10)포트 80으로
접속 가능하도록 SSH연결을 통한 포트 포워딩
관련보안설정
1. SSH는 rlogin, rcp, rlogin, rexec, telnet, ftp 등을 대체하는 보안 응용프로그램 또는 프로토콜이므로
통신구간의 암호화가 되지 않고 인증기능이 부족한 서비스를 비활성화
2. SSH 접속 시 기본 포트인 22번 포트를 변경하여 접근 시도 차단
3. SSH를 통한 root로의 직접 접근을 차단하고 일반 계정으로 로그인 후 su를 통해 root 계정접근하도록 설정
ssh_config의 PermitRootLogin "no or yes" 에서 no 설정
4. 로컬 포트포워딩/리모트 포트 포워딩의 경우 악의적인 공격자에 의해 내부시스템에 침투한후 방화벽을 우회하는 방법
허용된 포트를 통해 허용되지 않은 접근을 수행하기 위해 사용하는 것으로 네트워크 연결 상태를 확인
댓글