Mit ‘ssh’ Tagged einträge

localen git Server via ssh forwarden

Mittwoch, Dezember 13th, 2017


Folgendes Problem: auf eine ententen Server möchten wir auf ein Git Repository zugreifen auf dies der Server eigentlich keinen Zugriff hat, da der Git Server in einem Lokalen Netz steht. Der Rechner von dem ich dieser Operation ausführen möchte, kann all Server erreichen.

Somit habe ich mich per SSH mit Port Fortging auf den Server verbunden:

ssh -A -R 2222:git.local:22 server.tld

Hier wird mit der Option -R der Port 2222 auf dem entfernten Server bereit gestellt und auf den „git.local“ Server mit dem Port 22 weitergeleitet. Mit der Option -A habe ich zusätzlich SSH Agent Forwading eingegeben. Somit wird nicht einmal ein SSH Key auf dem Server benötigt.

Als nächstes habe ich in der .git/config die URL des Repositories angepasst.

...
url = git@[localhost:2222]:gitreponame
...

Eigentlich sollte die IP oder der DNS Name des Git Servers stehen. Dies habe ich durch localhost ersetzt. Leider ist der Port 22 natürlich belegt, somit habe ich diesen ebenfalls umgebogen. Dies geht nur mit den Eckige Klammern [localhost:2222].

SSH warnings und die known_hosts

Sonntag, Dezember 23rd, 2012

Manchmal kommt es vor das meine einen Server die IP ändert, das System neu aufsetzt bzw. den SSH key erneuert. Wenn unter dem Namen oder der IP bereits ein andere Rechner in der known_hosts eingetragen war, warnt SSH standardmäßig davor vor dem Login um auf MITM attacken abzuwehren.

ssh 192.168.0.22
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for blog.chr.istoph.de has changed,
and the key for the corresponding IP address 192.168.0.22
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /root/.ssh/known_hosts:111
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
1e:14:52:64:3a:55:a2:02:00:00:00:22:00:84:d4:25.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:94
RSA host key for blog.chr.istoph.de has changed and you have requested strict checking.
Host key verification failed.

Blöd ist das natürlich wenn man nur eine Rescue CD eingelegt hat und den Rechner warten will. Dabei hilft es die SSH known_hosts Datei nach /dev/null zu Mappen um
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no 192.168.0.22

Wenn im einem localen netz die Server immer wieder neue DHCP Adressen bekommen, kann es hilfreich sein die internen Adressen ganz von der prüfung durch die known_hosts Datei auszuschließen. Dafür fügt man in der ~/.ssh/config Datei folgende Zeilen exemplarisch an:
Host 192.168.0.* 192.168.122.*
User root
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

SSH -L

Sonntag, Februar 13th, 2011

Um über einen Rechner mit SSH an einen Dienst hinter der Firewall oder einem NAT zukommen kann man die SSH Option -L verwenden.

ssh -L 8080:serverB:80 root@serverA

Hierbei ist darauf zu achten, das man den localen Port auf einen wert höher als 1023 angibt, da dies System Ports sind. In meinem Beispiel greife ich von SerevrA auf Port 80 von ServerB zu. Local habe ich an Port 8080 gebunden, so dass ich http://localhost:8080 in meinem Browser angeben kann um auf ServerB zuzugreifen.

Über eine SSH Verbindung Programm auf der X öffnen

Samstag, Juli 12th, 2008

chr@desktop:~$ gnome-terminal
cannot open display:
Run 'gnome-terminal --help' to see a full list of available command line options.

Dafür muss man die Display Variable auf die Aktuelle X Session gesetzt sein. Mit echo $DISPLAY kann man die Variable ausgeben ausgeben. Das erste Display ist Standardmäßig „:0.0“.

export DISPLAY=:0.0
kann man die Variable setzen. Nun öffnet auch das Programm auf die ausgewählten Screen.