Ich habe auf Ubuntu 22.04 tarpit-endlessh installiert (apt install endlessh) und folgende Einstellungen in /etc/endlessh/config vorgenommen:
port 22
Delay 10000
MaxLineLength 32
MaxClients 4096
LogLevel 0
BindFamily 0
ss -tulpen | grep ssh
zeigt mir, dass Endlessh auf Port 2222 eingestellt ist. Warum wird Port 2222 überwacht, obwohl ich in der Endlessh-Konfiguration Port 22 eingestellt habe?
Und es gibt nur eine leere Datei endlessh.service in /etc/systemd/system/. Stattdessen befindet sich die nicht leere Datei endlessh.service in /lib/systemd/system/.
Hier /etc/systemd/system/endlessh.service habe ich diese Änderungen vorgenommen:
Wenn Sie möchten, dass Endlessh an Ports < 1024 bindet
- laufen:
setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh
- Kommentieren Sie die folgende Zeile aus
AmbientCapabilities=CAP_NET_BIND_SERVICE
- Kommentar folgende Zeile
#PrivateUsers=true
Dies hat jedoch nicht funktioniert:
setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh
Ich bekomme Folgendes:
Fehler beim Festlegen der Fähigkeiten für die Datei `/usr/local/bin/endlessh' (keine solche Datei oder kein solches Verzeichnis). Der Wert des Fähigkeitsarguments ist für eine Datei nicht zulässig. Oder die Datei ist keine reguläre (keine symbolische) Datei.
Bearbeiten: Nach
systemctl daemon-reload
es überwacht jetzt Port 22. Dieser Befehl funktioniert jedoch immer noch nicht:
setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh
Warum wird in den meisten Tutorials zu Endlessh beschrieben, dass man es aus Git kompilieren soll, anstatt es einfach mit apt install endlessh zu installieren?
Antwort1
Die Port-22-Spezifikation wird beim Programmstart aus der Konfigurationsdatei gelesen. Nachdem Sie die Konfigurationsdatei geändert haben, müssen Sie das Programm neu starten, damit es die neue, verbesserte Konfigurationsdatei lesen kann.