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接続を許可し、他のアドレスは許可したくない場合があります。