So führen Sie einen SSH-Server ohne statische IP-Adresse aus


37

Ich habe einen leistungsstarken Computer im Labor und habe Ubuntu 11.10 64-Bit darauf installiert. Ich möchte einen SSH-Server darauf installieren, damit ich ihn von zu Hause und sogar von meinem Android über ssh erreichen kann. Ich habe jedoch keine Erfahrung mit der Erstellung eines SSH-Servers.

Die Maschine hat eine dynamische IP. Ich möchte keine anderen SSH-Benutzer, die Installation nur für mich selbst wird für mich ausreichen.

Wo soll ich anfangen? Welche Tools benötige ich und wie würde ich sie konfigurieren?


1
Ist der PC direkt mit dem Internet verbunden oder befindet er sich hinter einem Router?
0x7c0

1
@StephenMartin: Es steht hinter einem Router.
Petrichor

Antworten:


35

Um mit ssh im Allgemeinen zu beginnen, installieren Sie openssh-server.

sudo apt-get install openssh-server

Beim nächsten Neustart sollte dies automatisch starten. Um eine Remote-Verbindung zum Computer herzustellen, geben Sie einfach Folgendes in ein Remote-Terminal ein und ersetzen Sie Ihre eigenen ALL-CAPS-Namen:

ssh USERNAME@IPADDRESS

Um sich jetzt um die dynamische IP zu kümmern, die Sie dazu zwingt, die IP die ganze Zeit zu überprüfen:

Eröffnen Sie ein kostenloses Konto auf dyndns.com und wählen Sie den Namen, den Sie eingeben möchten, wenn Sie eine Verbindung herstellen.

Sobald dies erledigt ist, installieren Sie "ddclient" auf dem Server. Dadurch wird die IP-Adresse für Sie automatisch mit dyndns aktualisiert.

sudo apt-get install ddclient

Wenn Sie es ausführen, werden Ihnen eine Reihe von Fragen gestellt. Halten Sie Ihren Benutzernamen, Ihr Kennwort und die zuvor ausgewählte URL bereit, um sie einzugeben. Es sollte sich auch automatisch zum Start hinzufügen.

Das sollte es sein. Wenn Sie nun ssh ausführen, verwenden Sie einfach die von Ihnen gewählte URL anstelle Ihrer IPADDRESS, da diese automatisch aktualisiert werden sollte, wenn sich die IP ändert.

Wenn Sie einen Router haben, müssen Sie Port 22 an Ihren Server weiterleiten! Auf portforward.com finden Sie zahlreiche Anleitungen für Ihren speziellen Router.


2
Danke für die ausführliche Antwort. Ich habe ssh installiert und es von einem anderen Rechner in der gleichen Domäne aus versucht und es hat funktioniert. Aber es funktionierte nicht mit meinem Android. Ich habe eine E-Mail an unseren Systemadministrator gesendet, wenn ich außerhalb der Domäne auf meinen Computer zugreifen kann. Also konnte ich ddclient noch nicht testen. (Zwei Anmerkungen: Ich konnte nicht upvoten, da ich nicht über 15 Reputationen verfüge. Der Link von dyndns scheint auf dyn.com geändert zu werden. Der vollständige Link ist hier dyn.com/dns/dyndns-free )
petrichor

Ach ja, meine schlechte, in der Antwort behoben. Hoffe, es funktioniert für Sie :)
zookalicious

1
dyn.com scheint nicht mehr frei zu sein
kennyB

3

Sie könnten einen Hostnamen über einen Dienst wie http://www.noip.com/ erhalten und dann einen SSH-Server einrichten. du würdest dich dann zb über verbinden

ssh USERNAME@HOSTNAME.no-ip.biz

2

Sie können SSH mit dem xmmpp / jabber-Protokoll verwenden . so können sie einfach per google talk auf ihrem desktop oder handy zugreifen, zb android. Keine IP Public erforderlich Keine spezielle Einstellung erforderlich Nur als Dienst installieren und ausführen. Ich habe ein Skript erstellt (getestet auf meinem Raspian-Betriebssystem in Raspberry Pi), damit Sie Robotito einfach installieren können. Dies sind die Schritte 1. Öffnen Sie Shell Command oder rufen Sie es Terminal auf, gehen Sie zu Ihrem Home-Ordner und laden Sie das Installationsskript mit folgendem Befehl herunter: wget https://opengateway.googlecode.com/files/robotito es wird in Ihrem Home-Ordner gespeichert ~ (zB / home / pi)

  1. Führen Sie anschließend das Skript aus, indem Sie den folgenden Befehl eingeben: sudo ./robotito

  2. und dann können Sie die Datei credentials.rb im Konfigurationsordner bearbeiten, wenn Sie robotito mit Ihrem gtalk-Konto verwenden, und diese durch Drücken von Strg + x und y speichern. Standardmäßig wird der Nano-Editor verwendet.

  3. Führen Sie den Befehl ./jabbershd start aus, um den robotito im robotito-Ordner auszuführen

  4. Nun können Sie es von jedem Google Talk-Client aus verwenden. Vergessen Sie nicht, Ihrem Google Talk-Konto ein robotito gtalk-Konto hinzuzufügen, und testen Sie es, indem Sie sich gegenseitig chatten, bevor Sie das Konto verwenden.


Ist das dein Blog? Das solltest du in deiner Antwort sagen.
fossfreedom

2

Besuche diesen Link:

http://www.raspberryanywhere.com/

Vielleicht kann es hilfreich sein. Ich benutze den Service seit einigen Wochen und es funktioniert großartig!

Der Link bietet einem einfachen Software-Teamviewer die Möglichkeit, von überall auf Ihr Himbeer-Board zuzugreifen. Darüber hinaus können Sie Ihren üblichen SSH-Client verwenden. Sie stellen lediglich eine virtuelle Adresse bereit, um über SSH oder HTTP eine Verbindung zu Ihrem Board herzustellen. Es lohnt sich auf jeden Fall einen Versuch!


1

Sie benötigen einen dynamischen DNS-Client auf Ihrem PC (oder Router) und optional den Port 22 Ihres Routers für den Ubuntu-Rechner, wenn sich dahinter ein PC befindet. Dann können Sie Ihr Gerät über einen benutzerdefinierten Namen anstelle der IP-Adresse erreichen.


1

Die Installation und Verwendung von ssh ist einfach. Sie können es von hier aus installieren: https://apps.ubuntu.com/cat/applications/oneiric/openssh-server/ .

Sobald es installiert ist, wird es automatisch beim Booten ausgeführt. Alle Benutzer auf dem lokalen Computer können es verwenden. Sie müssen Ihr Netzwerk noch reparieren, damit Sie eine Verbindung herstellen können, aber das hat eigentlich nichts mit ssh zu tun. Wenn es eine öffentliche IP hat, können Sie so etwas wie dyndns.org und ddclient verwenden, um einen dynamischen Namen dafür zu erhalten. Wenn es keine öffentliche IP-Adresse hat, müssen Sie auch Ihr Netzwerk so konfigurieren, dass der Datenverkehr dorthin weitergeleitet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.