Es mag zwar schön sein, von beliebigen Orten im Internet aus in Ihr System zu sshen, aber es gibt automatisierte Passwortangriffssysteme, die sich auf einen offenen ssh-Port verriegeln und verschiedene Angriffe von Joe-Konten und -Wörterbüchern auf Ihr System anwenden. Dies kann ärgerlich sein, wenn Sie Ihre nächtliche Protokollzusammenfassung lesen, und ist eine Verschwendung Ihrer Bandbreite.
Wenn Sie einen Webserver auf demselben System haben, können Sie den eingehenden SSH-Datenverkehr mit PHP- und TCP-Wrappern auf bekannte Systeme beschränken und Ihnen einen Hintertürschlüssel geben, mit dem Sie von beliebigen Systemen aus auf das Internet zugreifen können.
So machst du es:
lehne alle ssh-Verbindungen in /etc/hosts.deny ab:
# /etc/hosts.deny fragment
sshd: all
Erlaube bekannte Systeme nach IP in /etc/hosts.allow und füge eine Datei für den temporären Zugriff hinzu:
# /etc/hosts.allow fragment
sshd: 10.0.10.2 # some system
sshd: 172.99.99.99 # some other system
sshd: /etc/hosts.allow.temporary-sshd-access
Erstellen Sie eine PHP-Datei auf Ihrem Webserver und vergeben Sie einen nicht offensichtlichen Namen wie my-sshd-access.php:
<?php
function get_ip()
{
return getenv("REMOTE_ADDR");
}
?>
<?php
$out='/etc/hosts.allow.temporary-sshd-access';
$log='/var/log/sshd-access-addition-log';
print "Was:";
readfile($out);
print "<br>";
$ip=get_ip();
$fp=fopen($out,"w");
fputs($fp,$ip);
fclose($fp);
$lfp=fopen($log,"a");
fputs($lfp,$ip);
fputs($lfp,"n");
fclose($lfp);
print "Wrote: ";
readfile($out);
?>
Verzeihen Sie den PHP-Code - ich habe ihn von einem anderen Ort geklaut, damit er wahrscheinlich aufgeräumt werden kann. Es wird lediglich die IP-Adresse des Systems hinzugefügt, das auf die Datei /etc/hosts.allow.temporary-sshd-access zugreift, die von sshd (aufgrund der Einbeziehung von /etc/hosts.allow) zum Zeitpunkt der Verbindung gelesen wird .
Wenn Sie sich an einem beliebigen System im Web befinden und auf dieses System zugreifen möchten, verwenden Sie zunächst einen Webbrowser und klicken Sie auf diese Datei (oder verwenden Sie wget oder equivilent):
$ wget http://your.system.name/my-sshd-access.php
Jetzt sollten Sie in der Lage sein, sich in Ihr System einzuschalten. Wenn Sie wahrscheinlich von hier aus häufig auf diese Website zugreifen, ist es trivial, den Inhalt der Datei /etc/hosts.allow.temporary-sshd-access zu lesen und die IP-Adresse dauerhaft zu / etc / hosts hinzuzufügen. ermöglichen.