systemctl enable ufw; systemctl start ufw
나는 ufw를 사용하여 " " 및 " " 으로 방화벽을 엽니다 ufw enable
. 그런 다음 ufw default deny incoming
들어오는 트래픽을 차단하기 위해 " "로 설정했습니다 . 또한 SSH 연결을 허용합니다. 여태까지는 그런대로 잘됐다. SSH를 통해 서버에 로그인할 수 있다고 확신합니다. 그런데 재부팅하고 나면 더 이상 ssh를 통해 로그인할 수 없습니다. 저는 ufw
다음과 같이 확인했습니다.
# ufw status
Status: active
To Action From
-- ------ ----
192.168.0.120 22/tcp ALLOW Anywhere
# systemctl status ufw
● ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor
preset: enabled)
Active: active (exited) since Fri 2019-07-12 17:43:24 CST; 2min 36s ago
Docs: man:ufw(8)
Process: 241 ExecStart=/lib/ufw/ufw-init start quiet (code=exited,
status=0/SUCCESS)
Main PID: 241 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/ufw.service
ufw
확실히 활성화되어 있습니다. 그 후 처음과 마찬가지로 SSH 연결을 다시 허용했습니다. 그런 다음 vis ssh에 다시 로그인할 수 있습니다. 나는 이것이 정상이 아니라고 생각합니다.
그런데 어떻게 해결해야 할지 모르겠네요?
고쳐 쓰다
# systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor
preset: enabled)
Active: failed (Result: exit-code) since Mon 2019-07-15 11:53:22
CST; 2min 19s ago
Process: 603 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255)
Process: 537 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 603 (code=exited, status=255)
Jul 15 11:53:22 debian systemd[1]: Starting OpenBSD Secure Shell server...
Jul 15 11:53:22 debian systemd[1]: ssh.service: Main process exited,
code=exited, status=255/n/a
Jul 15 11:53:22 debian systemd[1]: Failed to start OpenBSD Secure Shell server.
Jul 15 11:53:22 debian systemd[1]: ssh.service: Unit entered failed state.
Jul 15 11:53:22 debian systemd[1]: ssh.service: Failed with result 'exit-code'
# cat /etc/ssh/sshd_config:
Port 22
ListenAddress 192.168.0.120
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin yes
AllowTcpForwarding no
AllowStreamLocalForwarding no
GatewayPorts no
PermitTunnel no
AllowUsers arcstor root
Compression yes
PubkeyAuthentication no
PasswordAuthentication yes
답변1
SSH 상태를 확인하세요.
# systemctl status ssh
서비스가 "비활성화"된 경우:
# systemctl enable ssh #enable run on startup
# systemctl start ssh #start it right now
시작되지 않은 이유에 대한 오류가 발생하는 경우:
# journalctl -u ssh
거기서 왜 시작되지 않는지 이해하고 그에 따라 조치를 취해야 합니다.
모든 주소에서 SSH를 허용하도록 ufw를 설정할 수도 있습니다.
# ufw enable ssh
편집: 댓글에 답글:
시작되지 않지만 이유를 이해하지 못합니다. 192.168.0.120이 SSH를 통해 연결하려는 장치의 IP 주소입니까? DHCP로 인해 변경되었을 가능성이 있나요? "ip주소"로 확인하실 수 있습니다. SSH 서버에 IP가 1개만 있는 경우 이 설정은 실제로 필요하지 않으며 IP가 변경되면 문제가 발생합니다.
패키지를 제거하고 다시 설치하는 것이 좋습니다. 이것이 기본 작업 환경을 얻는 가장 빠른 방법일 것입니다. 그러나 패키지를 제거할 때 구성도 제거해야 합니다. Ubuntu(및 기타 Debian 파생 제품)에서는 "apt Remove ssh"에 "--purge"를 추가하고 distro와 비슷한 것을 찾으십시오. 제거/재설치 후에는 이전 구성이 없어야 하며 기본 설정을 다시 추가할 수 있습니다.
$ sudo apt remove --purge ssh
TO가 아닌 연결할 IP 주소를 나열하려면 아래 링크에 해결책이 있습니다. 이를 통해 다른 IP가 아닌 특정 IP에서만 연결을 허용할 수 있습니다(ufw는 iptables를 둘러싼 래퍼이므로 이 명령은 ufw 명령과 동일한 효과를 갖습니다). TO IP를 추가하는 경우 해당 IP는 호스트 SSH 장치의 IP여야 합니다. 즉, 우리가 수정하려는 장치의 IP가 1개만 있는 경우 이해가 되지 않습니다. 연결을 허용하거나 아니면 아니오. SSH 서버에서 더 많은 IP 주소를 사용하고 일부 주소는 SSH 연결을 허용하고 다른 주소는 허용하지 않으려는 경우일 수 있습니다.
답변2
Linux 서버를 재부팅한 후 문제가 발생했습니다. 서버의 가상 IP로 SSH를 연결할 수 없고 연결이 거부되었지만 물리적 IP로 SSH를 연결할 수 있으므로 물리적 IP에 로그인하여 재부팅 후 서비스 sshd를 실행하십시오. 로그인 문제가 해결되었습니다.