SLOW but STEADY
리눅스 원격접속 서비스(2) - SSH 본문
SSH(Secure Shell)
- 리눅스 기본 원격 접속 서비스입니다.
- 대부분의 리눅스 배포판에서 기본 지원하며 방화벽 규칙 또한 자동으로 등록됩니다.
- 데이터 전송시 데이터를 암호화하여 전달합니다.
[설치 확인하기]
기본적으로 설치가 되어 있으니 확인해보도록 하겠습니다.
rpm -qa | grep openssh
SSH의 패키지 이름은 openssh입니다.
firewall-cmd --list-all
기본적으로 방화벽에 서비스와 포트가 등록되어 있습니다.
netstat -antp | grep sshd
sshd가 현재 LISTEN(활성화 상태)인 것까지 확인합니다.
[SSH 사용해보기]
mkdir /backup/ssh
cp /etc/ssh/sshd_config /backup/ssh
SSH 설정파일을 백업해 놓겠습니다.
항상 설정파일들은 수정할 때 backup디렉터리에 백업하고 수정하는 것이 좋습니다.
vi /etc/ssh/sshd_config
17번째 줄 Port 22 -> SSH 서비스는 기본적으로 22번 포트로 접속 가능하다는 뜻입니다.
이 부분을 2222번으로 수정해 보겠습니다.
앞에 있는 #은 주석처리를 하겠다는 뜻입니다. 따라서 #을 없애주셔야 적용이 됩니다.
firewall-cmd --permanent --add-port=2222/tcp
2222번 포트를 방화벽에 등록해줍니다.
firewall-cmd --reload
firewall-cmd --list-all
잘 등록되었는지 확인해 줍니다.
systemctl restart sshd
설정파일을 수정해주었으니 데몬 프로세스를 다시 시작시켜 줍니다.
putty를 이용해 2222번 포트로 접속해 보겠습니다.
접속 가능합니다.
이번에는 root계정 접속 허용을 거부해보도록 하겠습니다.
vi /etc/ssh/sshd_config
45번째 줄에 있는 PermitRootLogin yes를 주석을 풀어주고 no로 바꿔줍니다.
(몇 번째 줄인지는 다를 수 있습니다.)
systemctl restart sshd
putty 실행 뒤 root계정으로 접속 시도하면 접속 거부가 됩니다.
root계정 접속을 막아놓았으니 일반계정으로 접속을 한 뒤 관리자 계정으로 우회해서 접속해야 합니다.
우회 접속을 할 때는 su root명령어를 사용하시면 됩니다.
이 방법이 가장 기본적이고 일반적인 보안 설정입니다.
* 리눅스의 보안
데이터를 암호화하기 위해서는 키값이라는 것이 필요합니다. 리눅스에서는 이 키 값을 대칭키 암호화 통신방법을 사용하고 있습니다. 디피-헬만 알고리즘이 대표적인 대칭키 암호화 알고리즘입니다. 현재 저희가 쓰고 있는 버전에서는 디피-헬만이 아니라 RSA 키 교환 방식을 사용합니다. 그래서 putty설정을 할 때 디피-헬만 키 교환 방식을 밑으로 내려줬던 것입니다.
* RSA 키교환 알고리즘
공개키를 가지고 암호화를 한 뒤 데이터를 전송하고 공개키를 공개합니다. 수신 측에서는 자신의 개인키를 가지고 암호화된 데이터를 복호화하는 알고리즘입니다.
vi /etc/ssh/sshd_config
123번째 줄에 #Banner none 되어 있는 것을 주석을 풀어주고 Banner /backup/message라고 수정해 주세요.
vi /backup/message
message파일을 만들어 줍니다.
만들어 준 다음, Hello My Linux!!라고 입력해 봅니다.
systemctl restart sshd
putty로 접속을 다시 하게 되면
우리가 설정해 놓은 문구를 확인하실 수 있습니다.
* putty를 사용하지 않고 리눅스 시스템에서 SSH 접속하는 방법
1) ssh [server-IP]
현재 접속된 계정을 갖고 SSH접근 시도하는 방법입니다.
2) ssh -l [user-name] [server-IP]
지정한 사용자로 SSH접속하는 방법입니다.
3) ssh [user-name]@[server-IP]
지정한 사용자로 SSH접속하는 방법입니다.
1번 방식일 경우 현재 내가 접속하는 클라이언트에 로그인한 계정이 기준이 됩니다.
2, 3번 방식일 경우 내가 직접 접속할 때 SSH 서버에 존재하는 사용자 계정을 지정하여 접속하는 방식입니다.
'2020 AWS기반 아키텍처 설계 전문가 양성 과정 > 리눅스' 카테고리의 다른 글
리눅스 Quota (0) | 2020.03.31 |
---|---|
리눅스 - SCP (SSH + CP) (0) | 2020.03.20 |
NFS(Network File System) (0) | 2020.03.09 |
리눅스 원격접속 서비스(1) - Telnet (0) | 2020.03.06 |
리눅스 grub편집기(복구모드) 접근 계정 제한하기 (0) | 2020.03.04 |