홈서버 구축 대작전 2. OpenSsh 설정하기
홈서버 구축 대작전 2. OpenSsh 설정하기
원격으로 접속 해서 사용할수 있게 Open SSH를 설정하자
Open SSH 설치
설치
1
2
dnf install openssh-server # openssh 설치
which sshd # 설치 확인
1
2
3
firewall-cmd --zone=public --list-ports # 방화벽 열린 포트 확인
firewall-cmd --zone=public --add-port=22/tcp --permanent # 22 포트 열기
firewall-cmd --reload # firewalld 다시 불러오기 (변경 사항 적용)
1
2
firewall-cmd --zone=public --list-ports # 현재 열린 포트 확인
firewall-cmd --zone=public --list-services # 열린 서비스 확인
- –zone=public: 방화벽 규칙이 적용될 zone 지정, 외부 인터페이스와 연결된 영역은 보통 public
- –permanent: 옵션 영구 저장, x시 firewalld 재시작시 적용 안됨
설정
정말 많은 설정 파일이 있는데 sshd의 보안을 강화하기 위해 sshd_config를 수정하자
1
sudo nvim /etc/ssh/sshd_config
파일 자체가 직관적이고 궁금한게 있으면 맨 위에 있는 man page의 안내를 따르자 https://linux.die.net/man/5/sshd_config
위 부분만 주석을 제거 하고 다음과 같이 설정 해주자
- prohibit-password: key 파일을 이용해야만 root 로그인 가능 보안을 위해 꼭 설정하자
RHEL 9에서 위 config파일을 바꿔도 적용이 안되는 경우가 있는데 다음과 같이 해결한다.
1 echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config.d/01-permitrootlogin.confhttps://docs.redhat.com/ko/documentation/red_hat_ceph_storage/8/html/installation_guide/enabling-ssh-log-in-as-root-user-on-rhel-9_install#enabling-ssh-log-in-as-root-user-on-rhel-9_install
설정을 완료했다면 꼭 적용해주자
1
2
3
4
5
systemctl start sshd
# 혹은
systemctl reload sshd
systemctl status sshd # 정상 가동 중인지 확인
잘 되면 좋겠지만 Unit sshd.service could not be found 오류가 생길수 있다.
openssh가 시스템 서비스(init)로 등록되지 않아서 그렇다! 수동으로 등록해주자!!
**시스템에서 daemon을 어떻게 시작하고, 중지하고, 재시작 할지 설정을 해주는 단순 txt 파일
1sudo nvim /etc/systemd/system/sshd.service
[Unit] Description=OpenSSH server daemon # 서비스의 설명을 제공하는 항목으로, 시스템 관리자에게 서비스가 무엇인지 알려준다 After=network.target # 이 서비스가 네트워크 서비스가 시작된 후에 시작되도록 설정(네트워크가 필요하기 때문) [Service] ExecStart=/usr/local/sbin/sshd -D # 서비스가 시작될 때 실행할 명령을 지정. 여기서는 OpenSSH 데몬을 포그라운드 모드(-D)로 실행 ExecReload=/bin/kill -HUP $MAINPID # 서비스를 다시 로드할 때 실행할 명령을 지정. 여기서는 메인 프로세스에 HUP 신호를 보내서 설정을 다시 로드 KillMode=process # 서비스가 중지될 때 개별 프로세스를 종료. Restart=on-failure # 서비스가 실패했을 때 자동으로 재시작하도록 설정. RestartSec=42s # 서비스가 실패한 후 재시작하기 전에 대기할 시간을 초 단위로 지정. (42초 대기) [Install] WantedBy=multi-user.target # 이 서비스가 다중 사용자 모드에서 실행되도록 지정. multi-user.target는 시스템이 기본적으로 부팅되는 목표
sshd.service 파일 출저: https://hmw0908.tistory.com/116
1 2 3 4 5 sudo system daemon-reload sudo systemctl start sshd sudo systemctl status sshd sudo systemctl enable sshd #부팅될 때 자동으로 SSH 서버가 시작되도록 설정
이러면 sshd Setting은 끝! 다음엔 ssh-keygen으로 공개, 개인키를 설정하자
This post is licensed under CC BY 4.0 by the author.