SSH는 암호화 통신이다.
키를 이용한다는 것은 비공개를 위해 사용하기도 하지만 책임을 지겠다는 의미도 가지고 있다.
(1) 클라이언트가 서버에 SSH 접속 요청
(2) 핸드셰이크(버전확인) : 접속 전 서로의 정보를 확인한다.
(3) 알고리즘 확인과 세션키 교환 : 공개키 기관에 의한 세션키 분배의 하부과정과 비슷하다. 먼저 서버에서 공개키를 받는다. 클라이언트가 세션키를 생성하고 서버의 공개키로 암호화 한 후 서버에 전송한다. 크랙 방법은 서버의 공개키를 가로채는 방법 뿐인데 서버의 공개키는 통신의 첫 시작에서만 송신하므로 그 순간을 놓치면 크랙할 수 없다. 또한 세션이 종료되면 세션키를 폐기하고 세션이 생기면 세션키를 새로 생성하기 때문에 꾸준한 사용이 가능하다. 난수T는 다른 시스템에서 로그인시 로그인 정보확인 용으로 사용이 가능하다.
(4) 보안 세션 설정
원래 1:1통신을 원칙으로 하기 때문에 다중 접속시마다 프로세스를 계속 생성하게되면 휴지기간인 프로세스가 발생한다. 휴지하고있는 프로세스를 줄이기 위해 멀티 쓰레드 방식을 사용한다. 멀티 쓰레드 방식은 프로세스는 하나만 생성하고 그 프로세스에 접속하는 소켓을 여러개 생성하는 것이다. 그렇다고 프로세스의 크기가 커지거나 하지는 않는다.
SSH서버 접속은 'ssh 계정명@ip'로 접속이 가능하다.
SSH서버 설치 확인은 yum list openssh*로 가능하다.
sftp는 보안 ftp로서 vsftp와는 다르다. sftp의 접속 방식도 ssh와 동일하다.
실습 : ssh를 이용한 통신을 하고 계정별로 접속 허용, 거부 상태를 주어 확인한다.
yum install -y openssh* // openssh데몬을 설치한다.
systemctl [start|stop|restart] sshd.service // sshd.service를 [실행|중지|재실행]한다.
# vi /etc/ssh/sshd_config // ssh서버 설정파일을 변경한다.
// (*cf) /etc/ssh/ssh_config파일은 ssh클라이언트 설정파일이다.
#Port 22 // Port 번호 지정
#Protocol 2,1 // SSH1, SSH 2 지원
#ListenAddress // 여러 개의 IP중 SSH이용할 IP
#PermitRootLogin yes // Root 계정 로긴 허용
#PermitEmptyPasswords no // 암호 없는 계정에 대한 접속 여부
Root계정 | 일반계정 | |
Default | 접속가능 | 접속가능 |
AllowUsers | 접속가능 | 접속가능 |
DenyUsers | 접속불가 | 접속불가 |
'교육 > Server' 카테고리의 다른 글
Day 54 (DNS서버 구축) (0) | 2020.02.05 |
---|---|
Day 38 (Web Server + Oracle + Samba) (2) (0) | 2020.01.10 |
Day 38 (Web Server + Oracle + Samba) (1) (0) | 2020.01.10 |
Day 24 (NFS & Multi network) (0) | 2019.12.19 |
Day 23 (SAMBA & NAT & Oracle windows) (0) | 2019.12.18 |