Durch die Installation openssh-server
können Sie sicher über das Internet oder von Geräten zu Hause auf Ihr gesamtes Laufwerk zugreifen, sofern diese sFTP unterstützen. Wenn dies aus irgendeinem Grund nicht der Fall ist, kann eine Samba-Freigabe diese ergänzen, wie in einer anderen Antwort beschrieben. So richte ich meine ein:
Installieren Sie OpenSSH Server :apt-get install openssh-server
Öffnen Sie Port 22 : Es gibt eine Reihe von Möglichkeiten, dies zu tun gufw
(Sie müssen es möglicherweise installieren, ich bin nicht sicher, ob es die Standardeinstellung ist). Wenn Sie es zu einem späteren Zeitpunkt für das Internet öffnen möchten, müssen Sie Port 22 von Ihrem Router an den Server weiterleiten. Normalerweise können Sie dies über ein Webinterface auf dem Router tun. Wenn Sie können, weisen Sie dem Server auch dort eine statische IP zu (dh deaktivieren Sie DHCP für den Server).
Bearbeiten Sie die SSH-Konfigurationseinstellungen : Sichern und öffnen Sie die Datei /etc/ssh/sshd_config
und ändern / fügen Sie die Einstellungen hinzu
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
Für maximale Sicherheit können Sie hier https://help.ubuntu.com/community/SSH/OpenSSH/Keys beschriebene schlüsselbasierte Anmeldungen einrichten. Es würde jedoch ausreichen, wenn Sie nur ein wirklich sicheres Kennwort einrichten und dieses speichern jeder Client-Computer.
Möglicherweise möchten Sie für jede Person, die eine Verbindung herstellt, einen Benutzer erstellen. Wenn Sie das tun, können Sie sie alle derselben Gruppe hinzufügen (sagen wir ssh_users) und jedem in dieser Gruppe erlauben, eine Verbindung mit herzustellen AllowGroups ssh_users
. (Weitere Informationen finden Sie unter http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access. )
Überprüfen Sie, ob die Einstellungen gültig sind : Sie können überprüfen, ob Sie in der Konfigurationsdatei mit einen Syntaxfehler gemacht habensshd –t
Verbindung vom Server zu sich selbst herstellen : An diesem Punkt sollten Sie in der Lage sein, von sich aus über ein Terminal eine Verbindung zum Computer herzustellen ssh localhost
(vorausgesetzt, Sie haben dies bereits getan openssh-client
). Probieren Sie es dann von einem anderen Computer in Ihrem Netzwerk aus ssh <ip-address>
.
Wenn die IP-Adresse des Servers in Ihrem Heimnetzwerk statisch ist, können Sie einen Eintrag zu /etc/hosts
einem Ubuntu-Computer hinzufügen, der über die Leitung eine Verbindung zu ihm herstellt
server_ip_address theserver
Dies bedeutet, dass Sie einfach eine Verbindung herstellen können ssh theserver
, oder wie auch immer Sie es genannt haben. Sie können dasselbe für Windows tun (siehe hier: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )
Herstellen einer Verbindung über sFTP : Wenn Sie von einem anderen Computer in Ihrem Heimnetzwerk in einem Terminal eine Verbindung zum Server herstellen können, können Sie eine Verbindung über sFTP herstellen und Dateien sicher durchsuchen und übertragen. Persönlich habe ich eine Tastenkombination eingerichtet, mit der ich meinen Server mit Tastaturbefehlen aktivieren / deaktivieren kann (unter Ubuntu):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
(Das -u
Flag ist der Befehl umount)
Setzen Sie diese in den „Befehl:“ Feld der Systemeinstellungen> Tastatur> Shortcuts> Benutzerdefinierte Shortcuts> + (New Shortcut), geben Sie ihm einen Namen, klicken Sie auf Anwenden und dann auf die rechte Spalte und geben Sie eine Tastenkombination ( CTRL+SHFT++
und CTRL+SHFT+-
jeweils logisch erscheinen) .
Sie können die IP-Adresse durch die in ersetzen /etc/hosts
. Dadurch wird der Server in Nautilus als Laufwerk bereitgestellt, und Sie können die Ordner wie die auf Ihrem lokalen Computer durchsuchen. Unter Windows können Sie eine Verbindung mit FTP-Software (Filezilla usw.) herstellen. Ich habe es nicht ausprobiert, aber ich bin mir sicher, dass es wahrscheinlich auch eine sFTP-Integration im Windows Explorer gibt.
Ein weiterer Vorteil von schlüsselbasierten Anmeldungen ist, dass Sie nicht jedes Mal zur Eingabe eines Kennworts aufgefordert werden, wenn Sie eine Verbindung herstellen (es sei denn, Sie haben ein Kennwort zum Schutz des Schlüssels eingerichtet). Vielleicht möchten Sie es überprüfen, nachdem Sie es mit Kennwortanmeldungen arbeiten lassen (und bevor Sie es nach außen öffnen).
Herstellen einer Verbindung von außen : Der letzte Schritt besteht darin, zu prüfen, ob Sie eine Verbindung über das Internet herstellen können, z. B. nebenan oder was auch immer. Wenn Sie keine statische IP-Adresse für Ihr Zuhause haben, kann es schwierig sein, mit der IP-Adresse Schritt zu halten. Ich persönlich benutze einen dynamischen DNS-Dienst ( http://afraid.org/ ist kostenlos), aber vielleicht finden Sie eine andere Lösung besser. Dann würden Sie die IP-Adresse in den obigen Mount-Befehlen durch die dynamische Webadresse ersetzen, die auf Ihr Heimnetzwerk verweist.
Ein letzter Sicherheitshinweis: Behalten Sie Ihr SSH-Protokoll im Auge, wenn Sie dies /var/log/auth.log
ausführen ( ), um sicherzustellen, dass nichts Ungewöhnliches passiert. Wenn Sie es finden, ist Fail2Ban eine Lösung ( http://www.fail2ban.org/wiki/index.php/Main_Page) und https://help.ubuntu.com/community/Fail2ban ). Um das Risiko zu minimieren, können Sie den Port ändern, auf dem SSHD nicht standardmäßige Einstellungen wie 500 verwendet, und die entsprechenden Regeln für die Portweiterleitung auf Ihrem Router und der Firewall des Servers ändern (Warum: https://serverfault.com/questions/189282 / why-change-default-ssh-port ) obwohl ich das noch nicht persönlich getestet habe gvfs-mount
.