Ssh Clientseite: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(53 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Erster Verbindungsaufbau=
 +
:alice@u3:~$ ssh bob@u2
 +
The authenticity of host 'u2 (172.16.10.2)' can't be established.
 +
ECDSA key fingerprint is SHA256:Dp+DL5apc0A3rsUKCPcvbLSBmb4BSQXDsJGLJR0r0GA.
 +
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
 +
:bob@u2's password:
 +
:bob@u2:~$
 +
=Exit=
 +
:bob@u2:~$ exit
 +
:alice@u3:~$ cat .ssh/known_hosts
 +
<pre>
 +
|1|5BdpwWv6AjvkrERbWPK0NCdeWiY=|XEQyvQ0nw5bIIM7UHd6rbJwIA1A= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNmNwRv2mqfgV3SwvASy48CIjb4oSmxqcQf7e28dCYQxGRfIXiQK5HYKagkqsfBgai+iIiLKDrkav7tvqX0XsAQ=
 +
|1|m9IwDx96MLYRVu8WE49HjWRcdyk=|CVTp1yv65aqMW6Y1zWngj0j1oW8= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNmNwRv2mqfgV3SwvASy48CIjb4oSmxqcQf7e28dCYQxGRfIXiQK5HYKagkqsfBgai+iIiLKDrkav7tvqX0XsAQ=
 +
</pre>
 +
:Der Publikkey des Server '''u3''' wurde hinzugefügt
 +
=Befehl ausführen=
 +
:alice@u3:~$ ssh bob@u2 hostname
 +
:bob@u2's password:
 +
u2
  
=Clientseite=
+
=alternativer Aufruf=
*ssh (OpenSSH client) ist ein Programm um auf einen entfernten Rechner zuzugreifen und dort Kommandos auszuführen.
+
:alice@u3:~$ ssh -l bob u2
*Es ersetzt die Programme rlogin und rsh und stellt eine sichere verschlüsselte Verbindung zwischen zwei Rechnern her.  
+
:bob@u2's password:
*ssh verbindet sich mit dem Zielrechner, worauf der Benutzer seine Identität über verschiedene Methoden nachweisen muss.  
+
:bob@u2:~$
=Aufruf=
+
=Angabe eines speziellen Ports=
*ssh [Optionen] Benutzer@Zielrechner [Kommando]
+
:alice@u3:~$ ssh -p 8822 -l bob u2
;Wenn ein Kommando angegeben wird, wird dieses anstelle der Login-Shell ausgeführt.
+
:bob@u2's password:
 +
:bob@u2:~$
 +
=Schlüsselpaar erzeugen=
 +
:alice@u3:~$ ssh-keygen  -b 4096
 +
;Alternativ
 +
:ssh-keygen -t ed25519
 +
<pre>
 +
Generating public/private rsa key pair.
 +
Enter file in which to save the key (/home/alice/.ssh/id_rsa):
 +
Enter passphrase (empty for no passphrase):
 +
Enter same passphrase again:
 +
Your identification has been saved in /home/alice/.ssh/id_rsa
 +
Your public key has been saved in /home/alice/.ssh/id_rsa.pub
 +
The key fingerprint is:
 +
SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3
 +
The key's randomart image is:
 +
+---[RSA 4096]----+
 +
|    .            |
 +
|  o .          |
 +
|o + o            |
 +
| X o = .        |
 +
|+ * o + S        |
 +
|=* o o o .       |
 +
|E+*.ooo.+        |
 +
|.==o+o++ .      |
 +
| +B*+==.        |
 +
+----[SHA256]-----+
 +
</pre>
  
=SSH Optionen=
+
=Schlüsselpaar=
*[[Ausgewählte SSH Optionen]]
+
*Wir haben nun ein Schlüsselpaar erzeugt.
=SSH Beispiele=
+
*Der geheime Schlüssel ist passwort-geschützt.
==Zugriff auf einen bisher unbekannten Zielrechner==
+
*Dieses Passwort wird beim erstmaligen Nutzen nach dem Einloggen abgefragt.
*ssh root@alita
+
*Danach befindet sich der geheime Schlüssel im Arbeitsspeicher.
  The authenticity of host 'alita (192.168.242.10)' can't be established.
+
*Er wird von dem SSH-Agent verwaltet.
RSA key fingerprint is 8c:d1:1f:d2:5e:76:cd:75:74:c4:b7:b2:c7:f6:50:78.
+
=Das Schlüsselpaar=
Are you sure you want to continue connecting (yes/no)? yes
+
:alice@u3:~$ ls  .ssh/id_rsa*
Warning: Permanently added 'alita,192.168.242.10' (RSA) to the list of known hosts.
+
  .ssh/id_rsa  .ssh/id_rsa.pub
root@alita's password: Passwort_das_nicht_angezeigt_wird
+
=Übertragen des Publik Keys zu bob@u2=
...
+
:alice@u3:~$ ssh-copy-id bob@u2
root@alita:~#
+
<pre>
Um die Identität des Zielrechners zu verifizieren, kann man den den Fingerprint des öffentlichen RSA Schlüssels
+
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/alice/.ssh/id_rsa.pub"
auf der Serverseite ausgeben lassen. Dieser kann dann mit dem oben angezeigten verglichen werden.
+
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
==Zugriff auf bekannten Zielrechner
+
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
*ssh alita
+
bob@u2's password:  
root@alita's password: Passwort_das_nicht_angezeigt_wird
 
...
 
root@alita:~#
 
  
Zugriff als Benutzer christian und auf Port 9998
+
Number of key(s) added: 1
root@zero:~# ssh alita -l christian -p 9998
 
christian@alita's password: Passwort_das_nicht_angezeigt_wird
 
...
 
christian@alita:~$
 
  
Ausführen eines Kommandos auf dem Zielrechner
+
Now try logging into the machine, with:  "ssh 'bob@u2'"
root@zero:~# ssh alita cat /etc/hostname
+
and check to make sure that only the key(s) you wanted were added.
  root@alita's password:
+
</pre>
alita
+
=Alternatives Übertragen des Publik Keys zu bob@u2=
root@zero:~#
+
:alice@u3:~$ scp ~/.ssh/id_*.pub bob@u2:~
 +
:alice@u3:~$ ssh bob@u2
 +
:bob@u2:~$ cat id_*.pub >> .ssh/authorized_keys
  
Ausführen eines grafischen Programms auf dem Zielrechner und lokal anzeigen
+
=Der Private Key ist noch nicht im Arbeitsspeicher=
  root@zero:~# ssh -X root@alita kate
+
:alice@u3:~$ ssh-add -l
 +
  The agent has no identities.
 +
=Wir fügen den Private Key zum Agent hinzu=
 +
:alice@u3:~$ ssh-add
 +
Enter passphrase for /home/alice/.ssh/id_rsa:
 +
Identity added: /home/alice/.ssh/id_rsa (alice@u3)
  
[[Image:kate.jpg]]
+
=Der Private Key ist nun im Arbeitsspeicher und wird vom Agent verwaltet=
 +
:alice@u3:~$ ssh-add -l
 +
4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)
 +
=Einlogen ohne Passwort=
 +
:alice@u3:~$ ssh bob@u2
 +
bob@u2:~$
  
===Authentifizierung mit Schlüssel===
+
=Einloggen ohne Passwort=
====Schlüsselpaar erstellen====
+
:alice@u3:~$ ssh bob@u2
xinux@zero:~$ ssh-keygen
+
<pre>
Generating public/private rsa key pair.
+
Enter passphrase for key '/home/alice/.ssh/id_rsa':  
Enter file in which to save the key (/home/xinux/.ssh/id_rsa):
+
bob@u2:~$
Enter passphrase (empty for no passphrase):
+
</pre>
Enter same passphrase again:
+
=Wir bringen nun den Public-Key von alice auf den Account bob@u1=
Your identification has been saved in /home/xinux/.ssh/id_rsa.
+
:alice@u3:~$ ssh-copy-id bob@u1
Your public key has been saved in /home/xinux/.ssh/id_rsa.pub.
+
<pre>
The key fingerprint is:
+
The authenticity of host 'u1 (172.16.10.1)' can't be established.
a7:13:ec:54:a3:4f:29:32:f8:98:04:ea:0c:b9:62:04 xinux@zero
+
ECDSA key fingerprint is SHA256:Dp+DL5apc0A3rsUKCPcvbLSBmb4BSQXDsJGLJR0r0GA.
The key's randomart image is:
+
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
+--[ RSA 2048]----+
+
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
|                |
+
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
|                |
+
</pre>
|E .       o      |
+
:bob@u1's password:
|.o . . . o o    |
+
<pre>
|+. o o S +      |
+
Number of key(s) added: 1
|=. . + = B      |
 
|o+  o . + .      |
 
|o        .      |
 
|                |
 
+-----------------+
 
xinux@zero:~$
 
  
====Übertragen des öffentlichen Schlüssels====
+
Now try logging into the machine, with"ssh 'bob@u1'"
=====Ubuntu=====
+
and check to make sure that only the key(s) you wanted were added.
xinux@zero:~$ ssh-copy-id -i .ssh/'''id_rsa.pub''' root@alita
+
</pre>
root@alita's password: Passwort_das_nicht_angezeigt_wird
+
:alice@u3:~$
Now try logging into the machine, with "ssh 'root@alita'", and check in:
+
=Einloggen=
   
+
:alice@u3:~$ ssh bob@u2
  .ssh/authorized_keys
+
:bob@u2:~$
   
+
;Wir haben den Schlüssel mit genommen.
to make sure we haven't added extra keys that you weren't expecting.
+
:bob@u2:~$ ssh-add  -l
   
+
  4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)
  xinux@zero:~$
+
:bob@u2:~$ ssh -A u1
 +
:bob@u1:~$
 +
;Wir haben den Schlüssel weiter mit genommen.
 +
:bob@u1:~$ ssh-add -l
 +
  4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)
  
=====ESXI=====
+
=Cipher mit angeben=
xinux@zero:~$ cat .ssh/id_rsa.pub | ssh root@esxi \
+
:alice@u3:~$ ssh -o kexalgorithms=diffie-hellman-group-exchange-sha1  -o HostKeyAlgorithms=+ssh-rsa -o  Ciphers=+3des-cbc 10.10.4.108 -l xinux -p 22
  'cat >> /etc/ssh/keys-root/authorized_keys'
 
  
====Einloggen auf Remoterechner====
+
=Beispiel der User Konfigurationsdatei=
root@zero:~# ssh root@alita
+
~/.ssh/config
Linux alita 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686
+
<pre>
+
  host github.com
The programs included with the Ubuntu system are free software;
+
  Port 22
the exact distribution terms for each program are described in the
 
individual files in /usr/share/doc/*/copyright.
 
 
  Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
 
applicable law.
 
 
To access official Ubuntu documentation, please visit:
 
http://help.ubuntu.com/
 
 
0 packages can be updated.
 
0 updates are security updates.
 
 
Last login: Thu Jul  2 13:54:13 2009 from zero.alpha.quadrant
 
root@alita:~#
 
  
 +
host 10.81.0.12
 +
user admin
 +
ciphers aes128-cbc
 +
KexAlgorithms +diffie-hellman-group1-sha1
 +
HostKeyAlgorithms=+ssh-rsa
 +
port 22
 +
</pre>
  
===scp secure copy===
+
=SSH Optionen=
scp steht für Secure Copy und ermöglicht es, Dateien in einem Netzwerk zu kopieren. Es baut auf ssh auf und benutzt
+
*[[Ausgewählte SSH Optionen]]
entsprechend Authentifizierung und Verschlüsselung.
 
 
 
scp [Optionen] Benutzer@Rechner1:/Pfad/zu/Datei lokaler_Dateipfad
 
scp [Optionen] lokaler Dateipfad Benutzer@Rechner2:/Pfad/zu/Datei2
 
 
 
====Optionen====
 
* -1 : Erzwingt die ausschließliche Benutzung von ssh Protokollversion 1
 
* -2 : Erzwingt die ausschließliche Benutzung von ssh Protokollversion 2
 
* -4 : Erzwingt die ausschließliche Benutzung von IPv4 Adressen
 
* -6 : Erzwingt die ausschließliche Benutzung von IPv6 Adressen
 
* -C : Benutzt Komprimierung
 
* -P port: Benutzt Port auf dem Zielrechner; Achtung: großes P!
 
* -p : Verändert nicht die Zeiten der letzten Veränderung der Datei
 
* -r : rekursives Kopieren; scp folgt dabei auch symbolischen Links
 
* -v : ausführliche Ausgabe
 
 
 
 
 
Beispiele
 
 
 
Kopieren aller Dateien und Verzeinissen von einem lokalen Verzeichnis in ein entferntes Verzeichnis
 
root@zero:~# scp -r /etc/* root@alita:/tmp/
 
root@alita's password:
 
powerbtn.sh                                100%  517    0.5KB/s  00:00
 
...
 
 
 
Kopieren eines entfernten Verzeichnisses in ein lokales Verzeichnis
 
root@zero:~# scp -r root@alita:/root /root/alita_backup/
 
root@alita's password:   
 
.bashrc                                      100% 2227    2.2KB/s  00:00 
 
...
 
 
 
=vpn-pppd ssh Tunnelscript=
 
 
ssh nagus
 
cat /usr/local/sbin/vpn-pppd
 
 
 
=enable diffie-hellman-group1-sha1 key exchange=
 
mit dem direkten befehl:
 
 
 
*ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
 
 
 
dauerhaft eintragen:
 
 
 
* /etc/ssh/ssh_config
 
<pre>
 
Host 123.123.123.123
 
    KexAlgorithms +diffie-hellman-group1-sha1
 
</pre>
 

Aktuelle Version vom 30. Juli 2024, 09:26 Uhr

Erster Verbindungsaufbau

alice@u3:~$ ssh bob@u2
The authenticity of host 'u2 (172.16.10.2)' can't be established.
ECDSA key fingerprint is SHA256:Dp+DL5apc0A3rsUKCPcvbLSBmb4BSQXDsJGLJR0r0GA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
bob@u2's password:
bob@u2:~$

Exit

bob@u2:~$ exit
alice@u3:~$ cat .ssh/known_hosts
|1|5BdpwWv6AjvkrERbWPK0NCdeWiY=|XEQyvQ0nw5bIIM7UHd6rbJwIA1A= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNmNwRv2mqfgV3SwvASy48CIjb4oSmxqcQf7e28dCYQxGRfIXiQK5HYKagkqsfBgai+iIiLKDrkav7tvqX0XsAQ=
|1|m9IwDx96MLYRVu8WE49HjWRcdyk=|CVTp1yv65aqMW6Y1zWngj0j1oW8= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNmNwRv2mqfgV3SwvASy48CIjb4oSmxqcQf7e28dCYQxGRfIXiQK5HYKagkqsfBgai+iIiLKDrkav7tvqX0XsAQ=
Der Publikkey des Server u3 wurde hinzugefügt

Befehl ausführen

alice@u3:~$ ssh bob@u2 hostname
bob@u2's password:
u2

alternativer Aufruf

alice@u3:~$ ssh -l bob u2
bob@u2's password:
bob@u2:~$

Angabe eines speziellen Ports

alice@u3:~$ ssh -p 8822 -l bob u2
bob@u2's password:
bob@u2:~$

Schlüsselpaar erzeugen

alice@u3:~$ ssh-keygen -b 4096
Alternativ
ssh-keygen -t ed25519
Generating public/private rsa key pair.
Enter file in which to save the key (/home/alice/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/alice/.ssh/id_rsa
Your public key has been saved in /home/alice/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3
The key's randomart image is:
+---[RSA 4096]----+
|    .            |
|   o .           |
|o + o            |
| X o = .         |
|+ * o + S        |
|=* o o o .       |
|E+*.ooo.+        |
|.==o+o++ .       |
| +B*+==.         |
+----[SHA256]-----+

Schlüsselpaar

  • Wir haben nun ein Schlüsselpaar erzeugt.
  • Der geheime Schlüssel ist passwort-geschützt.
  • Dieses Passwort wird beim erstmaligen Nutzen nach dem Einloggen abgefragt.
  • Danach befindet sich der geheime Schlüssel im Arbeitsspeicher.
  • Er wird von dem SSH-Agent verwaltet.

Das Schlüsselpaar

alice@u3:~$ ls .ssh/id_rsa*
.ssh/id_rsa  .ssh/id_rsa.pub

Übertragen des Publik Keys zu bob@u2

alice@u3:~$ ssh-copy-id bob@u2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/alice/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
bob@u2's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'bob@u2'"
and check to make sure that only the key(s) you wanted were added.

Alternatives Übertragen des Publik Keys zu bob@u2

alice@u3:~$ scp ~/.ssh/id_*.pub bob@u2:~
alice@u3:~$ ssh bob@u2
bob@u2:~$ cat id_*.pub >> .ssh/authorized_keys

Der Private Key ist noch nicht im Arbeitsspeicher

alice@u3:~$ ssh-add -l
The agent has no identities.

Wir fügen den Private Key zum Agent hinzu

alice@u3:~$ ssh-add
Enter passphrase for /home/alice/.ssh/id_rsa: 
Identity added: /home/alice/.ssh/id_rsa (alice@u3)

Der Private Key ist nun im Arbeitsspeicher und wird vom Agent verwaltet

alice@u3:~$ ssh-add -l
4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)

Einlogen ohne Passwort

alice@u3:~$ ssh bob@u2
bob@u2:~$

Einloggen ohne Passwort

alice@u3:~$ ssh bob@u2
Enter passphrase for key '/home/alice/.ssh/id_rsa': 
bob@u2:~$ 

Wir bringen nun den Public-Key von alice auf den Account bob@u1

alice@u3:~$ ssh-copy-id bob@u1
The authenticity of host 'u1 (172.16.10.1)' can't be established.
ECDSA key fingerprint is SHA256:Dp+DL5apc0A3rsUKCPcvbLSBmb4BSQXDsJGLJR0r0GA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
bob@u1's password:
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'bob@u1'"
and check to make sure that only the key(s) you wanted were added.
alice@u3:~$

Einloggen

alice@u3:~$ ssh bob@u2
bob@u2:~$
Wir haben den Schlüssel mit genommen.
bob@u2:~$ ssh-add -l
4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)
bob@u2:~$ ssh -A u1
bob@u1:~$
Wir haben den Schlüssel weiter mit genommen.
bob@u1:~$ ssh-add -l
4096 SHA256:PrjyG7hdgYyB8o3G6AylcbWvmPjjJr29l4yGS7uAR44 alice@u3 (RSA)

Cipher mit angeben

alice@u3:~$ ssh -o kexalgorithms=diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=+ssh-rsa -o Ciphers=+3des-cbc 10.10.4.108 -l xinux -p 22

Beispiel der User Konfigurationsdatei

~/.ssh/config

 
 host github.com
  Port 22

host 10.81.0.12
 user admin 
 ciphers aes128-cbc
 KexAlgorithms +diffie-hellman-group1-sha1
 HostKeyAlgorithms=+ssh-rsa
 port 22

SSH Optionen