2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

리눅스에서 SSH를 설정하는 방법은?

_____
Q1: SSH란 무엇인가요?
A1: SSH(Secure Shell)는 원격 서버에 안전하게 접속할 수 있도록 해주는 네트워크 프로토콜입니다. 암호화된 통신을 통해 터미널 세션을 제공하여 원격 시스템을 관리할 수 있습니다.

Q2: 리눅스에서 SSH 서버를 설치하려면 어떻게 하나요?
A2: 대부분의 리눅스 배포판에서 OpenSSH 패키지를 사용합니다. 예를 들어, Ubuntu/Debian 계열에서는 아래 명령어를 사용합니다.
```bash
sudo apt update
sudo apt install openssh-server
```
CentOS/RHEL 계열에서는:
```bash
sudo yum install openssh-server
```

Q3: SSH 서비스는 어떻게 시작하고 자동으로 실행되도록 설정하나요?
A3: 설치 후 SSH 데몬을 시작하고 부팅 시 자동 실행하도록 설정합니다.
```bash
sudo systemctl start ssh Ubuntu/Debian
sudo systemctl start sshd CentOS/RHEL

sudo systemctl enable ssh Ubuntu/Debian
sudo systemctl enable sshd CentOS/RHEL
```

Q4: SSH 서버 설정 파일 위치는 어디인가요?
A4: 기본 설정 파일은 `/etc/ssh/sshd_config` 입니다. 이 파일을 편집하여 포트, 인증 방식 등 다양한 설정을 변경할 수 있습니다.

Q5: SSH 서버 설정을 변경한 후 어떻게 적용하나요?
A5: 설정 파일을 수정한 뒤 SSH 서비스를 재시작해야 변경 사항이 적용됩니다.
```bash
sudo systemctl restart ssh Ubuntu/Debian
sudo systemctl restart sshd CentOS/RHEL
```

Q6: SSH 접속 기본 포트 번호를 변경하려면 어떻게 해야 하나요?
A6: `/etc/ssh/sshd_config` 파일에서 `Port` 항목을 원하는 번호로 변경하고 서비스를 재시작하면 됩니다. 예)
```
Port 2222
```

Q7: 비밀번호 인증 대신 SSH 키 인증을 설정하려면?
A7:
1. 클라이언트에서 SSH 키 쌍 생성:
```bash
ssh-keygen -t rsa -b 4096
```
2. 공개키를 서버로 복사:
```bash
ssh-copy-id user@server_ip
```
3. 서버에서 `/etc/ssh/sshd_config` 파일 열어 아래 항목 확인 및 설정:
```
PasswordAuthentication no
PubkeyAuthentication yes
```
4. SSH 서비스 재시작.

Q8: SSH 접속 시 사용자 제한이나 허용/차단 설정은 어떻게 합니까?
A8: `/etc/ssh/sshd_config` 파일 내에서 `AllowUsers` 또는 `DenyUsers` 지시자를 사용해 특정 사용자만 접속 허용하거나 차단할 수 있습니다. 예)
```
AllowUsers user1 user2
```

Q9: 방화벽에서 SSH 포트를 열려면 어떻게 해야 하나요?
A9: UFW 사용 시:
```bash
sudo ufw allow ssh 기본 포트 22
sudo ufw allow 2222/tcp 포트 변경 시
```
firewalld 사용 시:
```bash
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
```

Q10: SSH 접속이 안될 때 확인해야 할 사항은?
A10:
- SSH 서비스가 실행 중인지 확인 (`systemctl status ssh` 또는 `sshd`).
- 방화벽에서 포트가 열려 있는지 확인.
- 설정 파일 오류 여부 확인 (`sshd -t` 명령 사용).
- 올바른 사용자명과 비밀번호/키가 맞는지 점검.
- 네트워크 연결 상태 점검.

---

이상이 리눅스에서 SSH 서버를 설치·설정하는 기본적인 방법과 주의 사항입니다.
리눅스에서 SSH(Secure Shell)를 설정하는 방법은 여러 단계로 나뉘며, 이를 통해 원격 서버에 안전하게 접속할 수 있습니다.

아래는 SSH를 설정하는 방법에 대한 자세한 설명입니다.

1. SSH 서버 설치 대부분의 리눅스 배포판에는 SSH 서버가 기본적으로 설치되어 있지 않으므로, 먼저 SSH 서버를 설치해야 합니다.

일반적으로 OpenSSH 서버를 사용합니다.

Ubuntu/Debian 계열 ```bash sudo apt update sudo apt install openssh-server ``` CentOS/RHEL 계열 ```bash sudo yum install openssh-server ``` Fedora ```bash sudo dnf install openssh-server ```

2. SSH 서버 시작 및 활성화 SSH 서버를 설치한 후, 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정해야 합니다.

```bash SSH 서버 시작 sudo systemctl start sshd SSH 서버를 부팅 시 자동으로 시작하도록 설정 sudo systemctl enable sshd ```

3. 방화벽 설정 SSH 서비스가 정상적으로 작동하려면 방화벽에서 포트 22(기본 SSH 포트)를 열어야 합니다.

UFW (Ubuntu의 기본 방화벽) ```bash sudo ufw allow ssh sudo ufw enable ``` Firewalld (CentOS/RHEL) ```bash sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload ```

4. SSH 설정 파일 수정 SSH 서버의 설정 파일은 `/etc/ssh/sshd_config`에 위치합니다.

이 파일을 수정하여 보안 및 기능을 조정할 수 있습니다.

```bash sudo nano /etc/ssh/sshd_config ``` 여기서 몇 가지 중요한 설정을 변경할 수 있습니다: - 포트 변경 : 기본 포트 22를 다른 포트로 변경하여 보안을 강화할 수 있습니다.

```plaintext Port 2222 ``` - 루트 로그인 비활성화 : 루트 계정으로의 직접 로그인은 보안상 위험하므로 비활성화하는 것이 좋습니다.

```plaintext PermitRootLogin no ``` - 비밀번호 인증 비활성화 : SSH 키 인증을 사용하는 것이 더 안전하므로 비밀번호 인증을 비활성화할 수 있습니다.

```plaintext PasswordAuthentication no ``` 설정을 변경한 후, 파일을 저장하고 종료합니다.



5. SSH 서버 재시작 설정 파일을 수정한 후에는 SSH 서버를 재시작해야 변경 사항이 적용됩니다.

```bash sudo systemctl restart sshd ```

6. SSH 클라이언트에서 접속 SSH 서버가 설정되면, 다른 컴퓨터에서 SSH 클라이언트를 사용하여 서버에 접속할 수 있습니다.

기본적인 SSH 접속 명령은 다음과 같습니다.

```bash ssh username@server_ip_address ``` 여기서 `username`은 서버의 사용자 이름, `server_ip_address`는 서버의 IP 주소입니다.



7. SSH 키 생성 및 설정 (선택 사항) SSH 키를 사용하면 비밀번호 없이도 안전하게 서버에 접속할 수 있습니다.

SSH 키를 생성하고 서버에 추가하는 방법은 다음과 같습니다.

SSH 키 생성 클라이언트에서 다음 명령어를 실행하여 SSH 키를 생성합니다.

```bash ssh-keygen -t rsa -b 4096 ``` 키 생성 과정에서 파일 경로와 비밀번호를 입력하라는 메시지가 표시됩니다.

기본 경로(`~/.ssh/id_rsa`)를 사용하면 됩니다.

SSH 키 복사 생성된 공개 키를 SSH 서버에 복사합니다.

`ssh-copy-id` 명령어를 사용하여 쉽게 복사할 수 있습니다.

```bash ssh-copy-id username@server_ip_address ``` 이제 SSH 키를 사용하여 비밀번호 없이 서버에 접속할 수 있습니다.



8. 보안 강화 SSH 서버의 보안을 강화하기 위해 다음과 같은 추가 조치를 고려할 수 있습니다.

- Fail2ban 설치 : SSH 로그인 시도에 대한 공격을 방지하기 위해 Fail2ban을 설치하여 비정상적인 로그인 시도를 차단할 수 있습니다.

- SSH 포트 변경 : 기본 포트 22 대신 다른 포트를 사용하여 자동화된 공격을 줄일 수 있습니다.

- IP 화이트리스트 : 특정 IP 주소에서만 SSH 접속을 허용하도록 방화벽을 설정할 수 있습니다.

결론 리눅스에서 SSH를 설정하는 과정은 비교적 간단하지만, 보안을 고려하여 적절한 설정을 하는 것이 중요합니다.

SSH를 통해 원격 서버에 안전하게 접속하고 관리할 수 있으며, 추가적인 보안 조치를 통해 시스템을 더욱 안전하게 보호할 수 있습니다.

작성자: 최수현 [비회원] | 작성일자: 1년 전 2024-09-30 08:49:29
조회수: 188 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.