SSH(암호화된 쉘, Secure Shell)는 리눅스와 다른 운영 체제 간에 안전하게 통신하기 위한 프로토콜입니다. SSH를 이용하여 서버에 원격으로 접속하고 관리할 수 있습니다. 이 글에서는 리눅스 서버에서 SSH를 설정하는 방법에 대해 알아보겠습니다.
1. SSH 설치
SSH를 사용하기 위해서는 다음과 같이 OpenSSH 패키지를 설치해야 합니다.
sudo apt-get install openssh-server
2. SSH 구성 파일 수정
SSH 서버의 구성 파일인 “/etc/ssh/sshd_config”를 수정하여 원하는 설정을 할 수 있습니다. 이 파일을 편집기로 열어서 수정합니다.
sudo nano /etc/ssh/sshd_config
주요한 설정 옵션은 다음과 같습니다:
- Port: SSH 접속에 사용할 포트 번호를 설정합니다. 기본값은 22입니다. 보안을 위해 다른 포트로 변경하는 것이 좋습니다.
- PermitRootLogin: root 계정으로의 SSH 접속 허용 여부를 설정합니다. 보안상의 이유로 비활성화하는 것이 좋습니다.
- PasswordAuthentication: 비밀번호를 사용한 인증 허용 여부를 설정합니다. 공개 키 인증을 사용하도록 설정하는 것이 보안상 좋습니다.
- AllowUsers: 특정 사용자만 SSH 접속을 허용할 경우 설정합니다.
설정을 수정한 후 파일을 저장하고 종료합니다.
3. SSH 서비스 재시작
SSH 구성을 수정한 후에는 SSH 서비스를 재시작해야 합니다. 다음 명령어를 사용하여 재시작합니다.
sudo service ssh restart
4. 방화벽 설정
방화벽(Firewall)을 이용하여 SSH 접속을 허용해야 합니다. 리눅스에서는 보통 UFW(Uncomplicated Firewall)를 사용합니다.
SSH를 위해 포트를 열려면 다음 명령어를 사용합니다.
sudo ufw allow <port_number>
SSH 접속을 위한 포트 번호를 <port_number>
에 입력한 후 실행합니다.
5. SSH 접속 테스트
SSH 서버 설정이 완료되었습니다. 이제 SSH 클라이언트 프로그램(예: Terminal, PuTTY)을 사용하여 SSH 접속을 테스트할 수 있습니다.
ssh username@server_ip
위 명령어에서 username
은 접속할 계정의 사용자 이름, server_ip
는 SSH 서버의 IP 주소 또는 도메인 이름입니다.
SSH 접속에 비밀번호 인증을 사용하는 경우, 해당 사용자의 비밀번호를 입력하면 접속이 완료됩니다.
마무리
위에서 설명한 절차를 따라서 리눅스 서버에 SSH를 설정하면 원격으로 안전하게 서버를 관리할 수 있습니다. 하지만 보안에 항상 주의해야 하며, 암호 복잡성, 공개 키 인증 사용 등의 추가 보안 조치를 적용하는 것이 좋습니다. SSH를 올바르게 설정하여 서버 보안을 강화하고 원활한 원격 관리를 가능하게 합시다.