Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SSH und scp

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

29.11.2001, aktualisiert 16.12.2013, 147829 Aufrufe, 3 Kommentare, 1 Danke

scp - Sicheres Kopieren von Dateien von einem Host zum Anderen inkl. Anleitung zum Anmelden per SSH ohne Passwortabfrage (Schlüsselaustausch per PubkeyAuthentication)

SSH, was ist das?

SSH ist ein Telnetdienst, der eine verschlüsselte Leitung vom Arbeitsplatz zum Zielrechner aufbaut. Für die Verschlüsselung wird eine Public-Key-Algorithmus verwendet.

Warum SSH?

Da das Internet nicht unbedingt vertrauenswürdig ist, sollten sensible Daten -wie Benutzername und Passwort- nicht im Klartext über das Netz gehen. Darum ist es zwingend erforderlich, wenigstens diesen Teil der Verbindung vor Mitlesen auf der Netzwerkleitung zu schützen. Ein geeigneter Schutz ist eine Verschlüsselung wie sie von SSH angeboten wird.

Sicheres FTP

Da die oben genannten Sicherheitsprobleme genauso auf FTP wie auf Telnet zutreffen, bietet die SSH auch ein zweites Tool an, mit dem Sie sicher Dateien von einem Rechner zum anderen transportieren können, inklusive gesicherter Authentifizierung.

SSH bietet dazu einen erweiterten Kopierbefehl (scp) an, der analog zu SSH die Authentifizierung durchführt, dann aber statt einer Shell einen einfachen Dateitransfer durchführt.
Die allgemeine Syntax:
scp [-r][-P Port] remote local
oder
scp [-r][-P Port] local remote
wobei
remote = [username@][hostname|ip-addr]:/verzeichnisse/datei.name
local = /verzeichnis/datei.name
-r = Rekursives Kopieren inkl. aller Unterordner
-P Port = Der SSH Port (Standard: 22)
Ein Beispiel:

Sie wollen rekursiv Ihr lokales .public_html - Verzeichnis auf den Webserver spiegeln:
scp -r ~/.public_html/ webaccount@webserver:~/
oder Sie wollen vom Arbeitsgruppenserver eine Datei auf ihren lokalen Rechner kopieren:
scp user@server:/arbeit/diplom.tex ~/download/ 
Einlogen ohne Passwortabfrage

SSH kennt zwei Authentisierungsverfahren: Passwort- und Schlüsselaustausch. Oben haben wir schon den Passwortaustausch kennengelernt. Der Schlüsselaustausch baut allein auf der Tatsache auf, dass die Rechner gegenseitig bereits etwas mehr kennen und daraufaufbauend eine Kommunikation aufbauen können. hierfür ist es allerdings notwendig, dass man bereits einmal auf diesem Rechner eingelogt war.

Einrichtung Schritt für Schritt:
- Erstellung eines eigenen Schlüsselpaares
- Einrichten der Konfiguration
- Test durchführen

Vorab eine kurze Erläuterung des Testszenarios:
Der Benutzername alfons sei auf dem Computer pc_source (z.B. ihrem lokalen Arbeitsplatz) gültig, während auf einem zweiten Rechner pc_destination (z.B. dem Arbeitsgruppenserver) ihr Login a.mueller sei. Im weiteren gehen wir davon aus, dass Sie, da Sie sich häufig auf dem Server einloggen, nicht bei jeder SSH-Sitzung das Passwort eingeben wollen.

Erstellung eines eigenen Schlüsselpaares

Voraussetzungen: In der SSH Serverkonfiguration ist die public key basierende Validierung zu aktivieren.
Prüfen Sie in der Datei /etc/ssh/sshd_config ob die Einstellung aktiviert ist:
PubkeyAuthentication yes
Loggen Sie sich dann wie gewohnt (z.B. als User "Alfons") auf Ihrem Arbeitsplatzrechner (pc_source) ein. Wechseln Sie in das .ssh Verzeichnis mittels "cd ; cd .ssh". Sollte das Verzeichnis nicht existieren (es kann auch .ssh2 heißen, je nach Version) müssen es erst anlegen: "mkdir .ssh".

Nun müssen Sie sich ein Schlüsselpaar mit "ssh-keygen -t [rsa|dsa]" erstellen. Ein Schlüsselpaar besteht aus einem öffentlichen (public) und einem geheimen (private) Schlüssel. Rufen Sie dazu "ssh-keygen -t dsa" auf.
Es erscheint ein Dialog (um die Standardwerte zu übernehmen, einfach "Return" drücken):
ssh-keygen -t dsa 
Generating public/private dsa key pair.
Enter file in which to save the key (/home/alfons/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/alfons/.ssh/id_dsa.
Your public key has been saved in /home/alfons/.ssh/id_dsa.pub.
The key fingerprint is:
16:12:8e:21:2b:b1:55:13:8a:73:41:09:05:a3:21:bb  alfons@pc_source
The key's randomart image is:
+--[ DSA 1024]----+
|    .o*==.o+=    |
|      .++- +..   |
|      . +...     |
|     .o =.+      |
|    A  =e+ .     |
|        o        |
|       ..        |
|                 |
|                 |
+-----------------+
Sie werden aufgefordert einen Verzeichnisnamen anzugeben, in dem das Schlüsselpaar erstellt werden soll. Drücken Sie hier einfach die Eingabetaste um den Standardwert zu übernehmen. Anschließend werden Sie aufgefordert, ein Kennwort einzugeben und zu bestätigen. Dieses Passwort wird verwendet, um Ihren privaten Schlüssel vor Missbrauch durch Fremde zu schützen (das Passwort kann natürlich auch leer bleiben, dass wird aber nicht empfohlen). Jetzt liegen zwei neue Dateien in Ihrem .ssh - Verzeichnis:
id_dsa
id_dsa.pub
Einrichten der Konfiguration

Den nun angelegten öffentlichen Schlüssel müssen Sie nun auf dem Zielrechner hinterlegen. Dies erledigen Sie mit folgenden Schritten:
Kopieren des Keys auf den Server:
01.
scp id_dsa.pub a.mueller@pc_destination:~/ 
02.
Hier werden Sie noch wie gewohnt nach Ihrem Passwort gefragt. 
03.

04.
Nun müssen Sie diesen Schlüssel, dem "Schlüsselbund der erlaubten Schlüssel" hinzufügen. 
05.
Dazu melden Sie sich auf dem Zielsystem an und kopieren den Public-Key in die "authorized_keys" vom .ssh Verzeichnis:
06.

07.
ssh a.mueller@pc_destination
08.
password: (auch hier ist noch wie gewohnt das Passwort anzugeben)
09.
cat id_dsa.pub >> .ssh/authorized_keys
10.
rm id_dsa.pub
11.
exit
Tipp: Gibt es auf Ihrem System den Befehl ssh-copy-id können sie das Kopieren des Public Keys mit der Eingabe von
ssh-copy-id [user@]machine
auch abkürzen (Default ist ~/.ssh/id_rsa.pub, ansonsten mit ssh-copy-id -i ~/.ssh/id_dsa.pub [user@]machine ausführen ). Der Befehl kopiert den Public Key automatisch nach ".ssh/authorized_keys".

Test durchführen

Versuchen Sie nun einen Login auf a.mueller@pc_destination von alfons@pc_source aus. Sie werden kein Passwort mehr eingeben müssen. z.B.:
ssh a.muller@pc_destination

Möglicher Fehler: Authentication refused: bad ownership or modes for directory

Solle nach dem Test trotzdem noch ein Passwort erscheinen, liegt wahrscheinlich noch ein Rechtsproblem mit dem "/home/username" oder ".ssh" Verzeichnis vor. Dazu sucht man in den entsprechenden Logfiles z.B. nach der Meldung "Authentication refused: bad ownership or modes for directory /home/username" (bei Ubuntu z.B. in /var/log/auth.log).

Sollte diese Fehlermeldung erscheinen können sie das Problem mit den folgenden Befehlen lösen:
01.
chmod go-w ~/
02.
chmod 700 ~/.ssh
03.
chmod 600 ~/.ssh/authorized_keys
Danach sollte es funktionieren.

Viel Spaß damit
Mitglied: Andy1988
10.11.2005 um 16:17 Uhr
Noch ein paar Arten des kopierens unter UNIX/LINUX

Drei Arten des kopierens unter Unix:

Vor jedem Befehl den Befehl
umask 0 eingeben

1.)
Normaler Remote Copy Befehl:
rcp *Dateiname* *Zielrechner*:*Verzeichnis in das es kopiert werden soll*

2.)
Sicherer Remote Copy Befehl:
rcp ?r ?Dateiname? *Zielrechner*:*Verzeichnis in das es kopiert werden soll*

3.)
Der find Befehl:
Find *Dateiname* ?print | cpio ?ovBcumd | rcmd *Zielrechner* ?cd *Zielverzeichnis*; cpio ?ivBcumd?


mfg Andy
Bitte warten ..
Mitglied: Frank
12.10.2012, aktualisiert um 10:45 Uhr
Noch eine kleine Ergänzung wenn nicht der SSH Default Port 22 benutzt wird.

Man kann natürlich dem scp den SSH-Port mit "-P Portnummer" mitgeben. Beispiel:
scp -P 1234 user@server:/Verzeichnis/Quelle ~/Ziel
Es gibt aber noch eine elegantere Lösung: Man legt im eigenen .ssh/ Verzeichnis eine Datei mit dem Namen "config" an (~/.ssh/config) und trägt folgendes ein:
01.
Host MeinServer1
02.
Port 1234
03.
User MeinLoginName
04.

05.
Host MeinServer2
06.
Port 4321
07.
User MeinLoginName2 
Danach kennen alle ssh, scp, etc. Befehle den neuen Port und man kann sie wie gewohnt ohne Angabe des Ports ausführen.

Gruß
Frank
Bitte warten ..
Mitglied: Lochkartenstanzer
12.10.2012, aktualisiert um 10:40 Uhr
Zitat von Frank:
Es gibt aber noch eine elegantere Lösung: Man legt im eigenen .ssh/ Verzeichnis eine Datei mit dem Namen "config"

oder man schreibt es gleich in

/etc/ssh/ssh_config

wenn es für alle User gelten soll (den Usernamen kann man ggf natürlich weglassen).



lks
Bitte warten ..
Ähnliche Inhalte
Firewall

FortiOS SSH Backdoor - erlaubt unberechtigten Zugriff

Tipp von R3nD0mFirewall1 Kommentar

Und noch eine Backdoor / Lücke in einem komerziellen Firewall-Produkt. Eine Lücke erlaubt es eine SSH verbindung mit einem ...

Batch & Shell

Rsync mit einen anderen SSH-Port ausführen

Tipp von FrankBatch & Shell1 Kommentar

Benutzt der SSH-Daemon einen anderen Port als 22 muss man für den rsync Befehl den "e"-Parameter anwenden: Bei $portNumber ...

Neue Wissensbeiträge
Sicherheit
Have i been pwned Datensammlung lokal durchsuchen
Information von sabines vor 3 StundenSicherheit1 Kommentar

Heise beschreibt in diesem Artikel wie man seine eigenen Passwörter prüfen kann. Da viele den Weg der Onlineprüfung scheuen, ...

Windows 10

Windows 10 kann XPS erzeugen aber nicht anzeigen ????

Erfahrungsbericht von Deepsys vor 1 TagWindows 101 Kommentar

Heute schickt mir ein Kollegen eine E-Mail mit einer XPS-Datei vom Kunden im Anhang und fragt wie er diese ...

Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 1 TagExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 2 TagenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Heiß diskutierte Inhalte
Windows Server
Sicherung Domain Controller
gelöst Frage von Monto1Windows Server18 Kommentare

Hallo zusammen, wie sichert Ihr den Domain Controller? Selbst, wenn zwei parallel laufen, ist eine Sicherung doch mal nützlich. ...

LAN, WAN, Wireless
Wo lässt sich das Gateway in der FRITZ!Box 7360 einstellen?
gelöst Frage von OssabowLAN, WAN, Wireless18 Kommentare

Hallo all, nach gründlicher Suche scheine ich der einzige zu sein der das Problem hat (macht micht schon mal ...

Backup
Was spricht gegen die veeam backup free edition?
Frage von keine-ahnungBackup16 Kommentare

Moin at all, aktuell plane ich die Umstellung meiner sehr überschaubaren Umgebung (3 Büchsen, davon 1 SBS2011 physisch, ein ...

Router & Routing
Probleme mit opnsense
Frage von BalivorinskyRouter & Routing13 Kommentare

Mir sind mehrere Probleme aufgefallen, hauptsächlich nachdem ich openvpn server eingerichtet habe und meine opnsense als Exposed Host in ...