SSH를 사용하면 터미널을 얻을 수 있습니다.네트워크 또는 인터넷을 통해 다른 Linux PC 및 서버에 액세스하십시오! 그럼에도 불구하고,이 기술만큼이나 놀랍게도,이 기술을 사용하는 것이 안전하지 않은 눈부신 보안 문제가 있습니다. 평범한 사용자라면 복잡한 SSH 보안 도구를 실제로 설치할 필요가 없습니다. 대신 Linux에서 SSH 서버를 보호하려면 다음 기본 단계를 따르십시오.
기본 연결 포트 변경

지금까지 가장 빠르고 쉬운 방법은SSH 서버는 사용하는 포트를 변경하는 것입니다. 기본적으로 SSH 서버는 포트 22에서 실행됩니다. 변경하려면 터미널 창을여십시오. 터미널 창에서 SSH 서버를 호스팅하는 원격 PC로 SSH 연결하십시오.
ssh user@local-ip-address
로그인하면 일반 사용자에서 루트로 이동하십시오. 루트 계정이 설정되어 있다면 수 좋은 선택입니다. 그렇지 않으면 다음을 통해 액세스해야합니다. 수도.
su -
또는
sudo -s
관리자 액세스 권한이 있으므로 Nano에서 SSH 구성 파일을여십시오.
nano /etc/ssh/sshd_config
“Port 22”구성 파일을 스크롤하십시오. 제거 # 있다면, 변경 "다른 번호로 22 인치. 일반적으로 100을 초과하는 포트 또는 1,000 범위의 포트로 충분합니다. 포트 번호를 변경 한 후 Ctrl + O 키보드 조합을 사용하여 편집 내용을 저장합니다. 그런 다음을 눌러 편집기를 종료하십시오. Ctrl + X.
구성 파일을 편집해도 SSH 서버가 올바른 포트를 사용하도록 즉시 전환되지는 않습니다. 대신 서비스를 수동으로 다시 시작해야합니다.
systemctl restart sshd
systemctl 명령을 실행하면 SSH 데몬을 재부팅하고 새 설정을 적용해야합니다. 데몬 재시작에 실패하면 다른 옵션은 SSH 서버 시스템을 재부팅하는 것입니다.
reboot
데몬 (또는 머신)을 다시 시작한 후 포트 22를 통해 SSH에 액세스 할 수 없습니다. 결과적으로 SSH를 통해 연결하려면 포트를 수동으로 지정해야합니다.
참고 : SSH 구성 파일에 설정된 포트로“1234”를 변경하십시오.
ssh -p 1234 user@local-ip-address
비밀번호 로그인 비활성화
SSH 서버를 보호하는 또 다른 좋은 방법은비밀번호 로그인을 제거하고 SSH 키를 통해 로그인으로 전환하십시오. SSH 키 라우트를 이동하면 SSH 서버와 키가있는 원격 시스템간에 신뢰가 생깁니다. 해독하기 어려운 암호화 된 비밀번호 파일입니다.
서버에서 SSH 키를 사용하여 설정하십시오. 키가 설정되면 터미널을 열고 SSH 구성 파일을여십시오.
su -
또는
sudo -s
그런 다음 Nano를 사용하여 구성을 엽니 다.
nano /etc/ssh/sshd_config
기본적으로 SSH 서버는 다음을 통해 인증을 처리합니다.사용자 비밀번호 안전한 암호를 가지고 있다면 이것이 좋은 방법이지만 신뢰할 수있는 컴퓨터의 암호화 된 SSH 키는 더 빠르고 편리하며 안전합니다. "암호없는 로그인"으로의 전환을 완료하려면 SSH 구성 파일을 확인하십시오. 이 파일 내에서 스크롤하여“PasswordAuthentication”이라는 항목을 찾으십시오.
“PasswordAuthentication”앞에서 # 기호를 제거하고 앞에“no”라는 단어가 있는지 확인하십시오. 모든 것이 좋아 보인다면, 편집 내용을 SSH 구성에 저장하십시오. Ctrl + O 키보드에서.
구성을 저장 한 후 Ctrl + X변경 사항을 적용하려면 SSHD를 다시 시작하십시오.
systemctl restart sshd
systemd를 사용하지 않는 경우 대신이 명령으로 SSH를 다시 시작하십시오.
service ssh restart
다음에 원격 시스템이이 SSH 서버에 로그인을 시도하면 올바른 키를 확인하여 비밀번호없이 입력합니다.
루트 계정 비활성화

SSH 서버에서 루트 계정을 비활성화하는 것은권한이없는 사용자가 SSH를 통해 액세스 할 때 발생할 수있는 손상을 완화하는 방법. 루트 계정을 비활성화하려면 SSH 서버에서 적어도 한 명의 사용자가 sudo를 통해 루트를 얻을 수 있어야합니다. 이렇게하면 루트 암호 없이도 필요한 경우 시스템 수준의 액세스 권한을 얻을 수 있습니다.
참고 : sudo를 통해 루트 권한에 액세스 할 수있는 사용자는 보안 암호를 가지고 있거나 슈퍼 유저 계정을 비활성화하는 것이 의미가 없는지 확인하십시오.
루트를 비활성화하려면 터미널을 수퍼 유저 권한으로 승격하십시오.
sudo -s
sudo -s를 사용하면 로그인 할 필요가 없습니다. 수대신 sudoers 파일을 통해 루트 쉘을 부여합니다. 쉘에 수퍼 유저 액세스 권한이 있으므로 암호 명령하고 루트 계정을 스크램블 -자물쇠.
passwd --lock root
위 명령을 실행하면 루트 계정의 비밀번호가 스크램블되므로 로그인을 통해 로그인 할 수 있습니다 수 불가능하다. 이제부터 사용자는 로컬 사용자로만 SSH로 로그인 한 다음 sudo 권한을 통해 루트 계정으로 전환 할 수 있습니다.
코멘트