본문 바로가기
OS/Linux

ssh(secure shell)

by IT퉁퉁이 2019. 5. 31.
반응형

한줄 정의

 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하거나 파일 전송을 가능하게 하는 응용프로그램 또는 그 프로토콜을 가리킨다.

 

관련 키워드 

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

22번 포트를 이용하여 192.168.2.210에 root계정으로 접속
port number 생략 하는 경우 기본 22/tcp 포트로 접속

 

#ssh -l itpig -p 10022 192.168.2.208

10022번 포트를 이용하여 192.168.10.10에 itpig계정으로 접속

 

-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연결을 통한 포트 포워딩

ssh 포트포워딩은 putty 프로그램을 이용하여 편하게 테스트

 

관련보안설정

1. SSH는 rlogin, rcp, rlogin, rexec, telnet, ftp 등을 대체하는 보안 응용프로그램 또는 프로토콜이므로 

   통신구간의 암호화가 되지 않고 인증기능이 부족한 서비스를 비활성화

 

2. SSH 접속 시 기본 포트인 22번 포트를 변경하여 접근 시도 차단

편집기를 통해 설정파일 편집
ssh_config의 Port "port number"의 port number 변경

 

3. SSH를 통한 root로의 직접 접근을 차단하고 일반 계정으로 로그인 후 su를 통해 root 계정접근하도록 설정

  ssh_config의 PermitRootLogin "no or yes" 에서 no 설정

ssh_config의 PermitRootLogin "no or yes" 에서 no 설정

 

4. 로컬 포트포워딩/리모트 포트 포워딩의 경우 악의적인 공격자에 의해 내부시스템에 침투한후 방화벽을 우회하는 방법

   허용된 포트를 통해 허용되지 않은 접근을 수행하기 위해 사용하는 것으로 네트워크 연결 상태를 확인

 

반응형

'OS > Linux' 카테고리의 다른 글

Telnet  (0) 2023.04.07

댓글