Tutoriel Linux

우분투에서 SSH 재시작하기: 사용할 명령어와 수행해야 할 점검 사항

Débutant2 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

우분투에서 SSH를 재시작하는 것은 간단한 명령어입니다. 하지만 문제는 이 명령어가 종종 서버에 접속할 수 있게 해주는 바로 그 서비스 자체에 영향을 미친다는 것입니다.

로컬 머신에서는 위험도가 낮습니다. 하지만 VPS나 원격 서버에서는 Enter 키를 누르기 전에 몇 가지 사항을 확인하는 것이 좋습니다. 잘못된 구성, 방화벽에서 포트 설정을 잊어버린 경우, 또는 설정 간의 혼동 등이 원인일 수 있기 때문입니다. SSH 그리고 SSHD그러면 백업 콘솔을 찾게 될 수도 있습니다.

안전한 SSH 연결 및 서비스 재시작 기능을 갖춘 Linux 기반 Ubuntu 서버

우분투에서 SSH를 재시작하는 명령어

Ubuntu와 Debian에서 서버 측 OpenSSH 서비스는 일반적으로 다음과 같이 불립니다. SSH따라서 가장 직접적인 명령은 다음과 같습니다.

sudo systemctl restart ssh

그 직후 서비스가 활성 상태로 복귀했는지 확인하십시오.

sudo systemctl status ssh --no-pager

스크립트나 간단한 세션에서 편리하게 사용할 수 있는 더 간단한 검사도 수행할 수 있습니다.

systemctl is-active ssh

대답이 다음과 같다면 활동적인서비스가 실행 중입니다. 만약 오류가 발생하면 실패한, 비활성 또는 ‘장치를 찾을 수 없음’ 오류가 발생하는 경우, 원인을 파악하기 전에 현재 세션을 닫지 마십시오.

서비스를 종료하기 전에 구성을 테스트하십시오.

수정한 경우 /etc/ssh/sshd_config먼저 구성을 테스트합니다. 이는 원격 SSH 재부팅 전에 제가 항상 수행하는 확인 절차입니다.

sudo /usr/sbin/sshd -t

명령 실행 결과가 없으면 좋은 징조입니다. 오류가 표시되면 SSH를 다시 ​​시작하기 전에 파일을 수정하십시오. 메인 파일에 대한 명시적인 테스트는 다음과 같습니다.

sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config

이 테스트는 방화벽이나 클라우드 제공업체가 SSH 포트를 지원하는지 여부를 보장하지는 않지만, 잘못된 구성으로 데몬이 재시작되는 것을 방지해 줍니다. 간단하고 빠르며, 명령줄을 통해 직접 개입해야 하는 번거로움을 덜어줄 수 있습니다.

재시작 또는 재로드: 어떤 것을 선택해야 할까요?

SSH 구성 변경 사항을 적용하기 위해 항상 전체 재부팅이 필요한 것은 아닙니다. 서비스에서 허용하는 경우, 재시작은 서비스 중단을 최소화하는 방법입니다.

sudo systemctl reload ssh

실제로 저는 다음과 같이 사용합니다. 다시 장전하다 깔끔한 구성 변경을 위해, 그 후에 sshd -t 검증되었습니다. 저는 사용합니다. 다시 시작하다 서비스가 차단되었을 때, OpenSSH 업데이트 후, 또는 깨끗한 상태에서 다시 시작하려는 경우에 사용합니다.

systemd가 시스템에 대해 어떤 정보를 알고 있는지 확인하려면 다음 명령어가 유용합니다.

systemctl list-unit-files 'ssh*'

일부 시설에서는 다음과 같은 상황을 겪을 수도 있습니다. ssh.소켓이 경우에는 무엇이든 만지기 전에 먼저 상태를 확인하세요.

sudo systemctl status ssh.socket --no-pager

service, reload, restart 등의 systemd 명령어를 혼동하지 않고 이해하려면 관련 가이드를 다시 읽어보시기 바랍니다. 임의 재부팅 전에 유용한 systemctl 명령어.

SSH 포트가 여전히 수신 대기 중인지 확인하십시오.

서비스는 활성화되어 있을 수 있지만, SSH는 사용자가 사용하는 포트와 다른 포트에서 수신 대기 중일 수 있습니다. 일반적인 Ubuntu 시스템에서 해당 포트는 대개 다음과 같습니다. 이십이하지만 이것은 절대적인 규칙은 아닙니다.

어떤 포트가 사용 중인지 확인하려면 다음 단계를 따르세요.

sudo ss -ltnp | grep ':22'

SSH 설정에서 포트를 변경했다면 OpenSSH에 실제로 어떤 포트가 적용되는지 문의하십시오.

sudo /usr/sbin/sshd -T | grep '^port'

이 주제에 대해 더 자세히 알아보려면 다음 기사를 참조하세요. Linux에서 netstat, ss 및 열린 포트 보다 포괄적인 방법을 제공합니다.

또한 로컬 방화벽도 고려해야 합니다. UFW를 사용하는 경우 인증이 즉시 이루어집니다.

sudo ufw 상태 상세 정보

SSH가 2222번 포트에서 수신 대기 중이지만 방화벽에서 22번 포트만 허용하는 경우, 서비스는 정상적으로 작동하면서도 외부에서 접근할 수 없을 수 있습니다. 호스팅 제공업체에서 방화벽이나 보안 그룹을 적용하는 경우에도 마찬가지입니다.

재시작이 실패하면 로그를 확인하십시오.

만약에 systemctl status ssh 오류가 발생했음을 나타냅니다. 먼저 서비스 로그를 확인하십시오.

sudo journalctl -u ssh -b --no-pager | size -50

재시도 중에는 실시간 메시지도 확인할 수 있습니다.

sudo journalctl -u ssh -f

가장 흔한 오류는 매우 명확합니다: 알 수 없는 옵션 sshd_config포트가 이미 사용 중이거나, 호스트 키가 누락되었거나, 파일 권한이 잘못되었거나, 지시문이 잘못된 위치에 배치되었을 수 있습니다.

네트워크 변경이나 서버 재시작 후 네트워크 범위를 확장해야 하는 경우, 다음 가이드를 참조하세요. journalctl과 마지막 Linux 부팅 로그 전체 시스템 로그를 읽지 않고도 오류를 해결하는 데 도움이 됩니다.

원격 서버 사용 시 주의사항

수정할 시스템에 SSH로 연결되어 있다면 세션을 열어 두십시오. 서비스가 다시 시작되기 전에 두 번째 세션을 열어 두는 것도 좋습니다.

ssh 사용자@서버 주소

재시작 후 다른 터미널에서 새 연결을 시도해 보세요. 새 연결이 성공하면 이전 연결을 종료할 수 있습니다. 새 연결이 실패하더라도 이전 세션을 통해 복구할 수 있을 가능성이 있습니다.

운영 서버에서는 호스팅 제공업체로부터 백업 콘솔을 제공받았는지 확인하십시오. 특히 SSH 포트, UFW, 고정 IP 주소 또는 네트워크 구성을 동시에 수정하는 경우 더욱 중요합니다. 네트워크 구성에 대해서는 관련 문서를 참조하십시오. 데비안에서 고정 IP 주소 네트워크 측면에서도 똑같이 신중한 반응을 보입니다.

재부팅 대신 OpenSSH를 재설치해야 하는 경우는 언제일까요?

서비스가 설치되어 있고 구성이 유효하며 문제가 일시적인 경우라면 재시작만으로 충분합니다. 하지만 장치가 ssh.서비스 OpenSSH 서버 패키지가 없거나, 서버를 너무 철저하게 정리한 경우 해당 항목이 존재하지 않으므로 설치를 다시 시작해야 합니다.

이 경우, 무한 루프에서 강제로 재시작하지 마십시오. 먼저 패키지를 확인하십시오.

dpkg -l | grep openssh-server

아무런 보고가 없으면 전용 절차를 반복하십시오. 우분투에 SSH를 깔끔하게 재설치실행 중이 아닌 서비스를 재시작해도 아무런 문제가 해결되지 않습니다.

검증 전 제가 사용하는 간단한 방법입니다.

우분투에서 SSH를 사용해야 할 때는 간단하게 설정합니다. 설정을 테스트하고, 가능하면 시스템을 재부팅하고, 필요하면 시스템을 재시작한 다음, 포트, 방화벽 및 새 연결 상태를 확인합니다.

sudo /usr/sbin/sshd -t
sudo systemctl reload ssh
sudo systemctl status ssh --no-pager
sudo ss -ltnp | grep ':22'
sudo ufw 상태 상세 정보

원격으로 작업하는 경우, 새 SSH 연결이 테스트될 때까지 활성 세션을 닫지 마십시오. 이 팁은 이 글에서 가장 눈에 띄지 않는 팁일 수 있지만, 가장 불쾌한 상황을 예방하는 데 도움이 됩니다.

공식 우분투 페이지 OpenSSH서버, 문서 systemctl맨 페이지 SSHD 그리고 sshd_config문서뿐만 아니라 UFW서버 절차를 문서화해야 하는 경우 이러한 자료들이 좋은 출발점이 될 수 있습니다.

sudo apt update && sudo apt upgrade