Erweiterte Verwendung von SSH-Sprung/SCP-Kopieren des Remote-Zielservers

Im täglichen Entwicklungs-, Betriebs- und Wartungsprozess verwende ich normalerweise Xshell-Tools für den Betrieb auf Linux-Servern. Lassen Sie mich Ihnen den Hintergrund meines Schreibens dieses Artikels erzählen: Partei A hat aus Sicherheitsgründen eine Sprungbrettmaschine bereitgestellt, auf die über VPN zugegriffen werden kann. Um über diese Sprungbrettmaschine mehr als zehn andere Anwendungsserver zu betreiben, muss sie den SSH-Befehl verwenden, um zum Zielserver zu springen.

# 在跳板机执行ssh命令到目标服务器,执行完后需要输入root密码
ssh [email protected] 

Im Allgemeinen verwenden Sie den obigen Befehl direkt, geben das Kennwort ein und springen zum Zielserver, damit Sie den gewünschten Vorgang auf dem Zielserver ausführen können. Es ist jedoch etwas mühsam, jedes Mal das Passwort einzugeben. Als fauler Mensch müssen Sie in der Lage sein, weniger Befehle einzugeben und weniger zu tippen.

  • Erste Optimierung, Verwendung von Schlüsseln zur Authentifizierung

    Die Authentifizierung mit einem SSH-Schlüsselpaar erhöht Ihre Sicherheit und erspart Ihnen die mühsame Eingabe Ihres Passworts bei jeder Verbindung. Nachdem Sie auf Ihrem lokalen Computer ein SSH-Schlüsselpaar generiert haben, können Sie den öffentlichen Schlüssel auf einen Remote-Server kopieren und den privaten Schlüssel zur Authentifizierung verwenden.

    Bei der Verbindung über SSH wird die private Schlüsseldatei normalerweise zur Authentifizierung verwendet, damit Sie eine Verbindung zum Zielserver herstellen können. Hier sind einige gängige Methoden, um die für SSH-Verbindungen benötigte private Schlüsseldatei zu erhalten:

    #首先进入到这个目录下 
    cd /root/.ssh
    #创建一个文件名,因为我的ip结尾是154,所以这么命名 
    touch 154_rsa
    #这个命令将会生成一个新的RSA密钥对,包括公钥和私钥。你可以选择在默认路径上保存密钥对(`~/.ssh/id_rsa`和`~/.ssh/id_rsa.pub`),或者选择自定义路径。
    ssh-keygen -t rsa -b 4096
    

    Nach der Ausführung von ssh-keygen -t rsa -b 4096 werden Sie aufgefordert, den Pfad zu speichern und das Passwort einzugeben. Drücken Sie bei der Eingabe des Passworts direkt die Eingabetaste. Es wird empfohlen, das Passwort nicht zu verwenden. wie das Bild zeigt:

    [Bildübertragung mit externem Link fehlgeschlagen, die Quellseite verfügt möglicherweise über einen Anti-Leeching-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-uBn96fK6-1689314874080)(imags/image-20230714114532068.png)]

    Dadurch werden zwei Dateien 154_rsa und 154_rsa.pub im Verzeichnis /root/.ssh generiert. Wir müssen 154_rsa auf den 154-Server verschieben

    [root@localhost .ssh]# scp 154_rsa [email protected]:/root/.ssh
    154_rsa                                                                                                                                                                                          100% 3326     4.4MB/s   00:00    
    [root@localhost .ssh]# ssh [email protected]
    Last login: Fri Jul 14 11:31:33 2023 from 192.168.17.154
    [root@localhost ~]# 
    
    

    Auf diese Weise kann Direct SSH direkt springen, ohne ein Passwort einzugeben.

    Aber ich habe immer noch das Gefühl, dass dies nicht ausreicht, da ich mir immer noch die IP merken muss und jedes Mal, wenn ich springe, die IP eines bestimmten Servers überprüfen muss, was sehr mühsam ist, also habe ich mit der zweiten Optimierung begonnen.

  • Zweite Optimierung

    Was ich erreichen möchte: Geben Sie ssh 153 direkt ein, um zum 153-Server zu springen, oder ssh order, um direkt zum 153-Server zu springen.

    Verwenden Sie die SSH-Konfigurationsdatei, um den Vorgang der direkten Verbindung mit dem Zielserver über die IP-Endnummer auf dem lokalen Computer zu realisieren. Im Folgenden sind die spezifischen Schritte aufgeführt:

    #首先进入到这个目录下 
    cd /root/.ssh
    #创建一个文件名,config,用来配置信息
    touch config
    #生成153。
    ssh-keygen -t rsa -b 4096
    

    [Bildübertragung mit externem Link fehlgeschlagen, die Quellseite verfügt möglicherweise über einen Anti-Leeching-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-HtAJckci-1689314874082)(imags/image-20230714135959938.png)]

    Der private Schlüssel von 153_rsa und der öffentliche Schlüssel von 153_rsa.pub werden generiert. Konfigurationsdatei konfigurieren

    Host 153 #别名可以设置为153或者order等你想要的别名
      HostName 192.168.X.153  # 目标服务器的IP地址
      User username  # 目标服务器的用户名
      Port 22  # 目标服务器的SSH端口号
      IdentityFile ~/.ssh/153_rsa  # 身份验证文件的路径
    

    Nach dem Speichern müssen Sie die Berechtigung von 153_rsa erhöhen, da die Berechtigungseinstellung dieser Datei zu locker ist und Sie nicht auf die angegebene private Schlüsseldatei zugreifen können

    chmod 600 /root/.ssh/153_rsa
    

    Fügen Sie der Datei 153_rsa.pubdie öffentliche Schlüsseldatei des Springboard-Servers hinzuauthorized_keys

    ssh-copy-id -i ~/.ssh/153_rsa.pub root@跳板机ip
    

    [Externer Link-Bildtransfer fehlgeschlagen, die Quellseite verfügt möglicherweise über einen Anti-Diebstahl-Link-Mechanismus, es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-IqXYfwGG-1689314874082)(imags/image-20230714140611276.png)]

    Führen Sie den gleichen Vorgang auf einem anderen Server aus, sodass Sie wie oben gezeigt zwischen 153 und 154 hin und her wechseln können.

SCP:

Nachdem die obige Konfiguration abgeschlossen ist, können Sie den Befehl scp /usr/local/qhyu 154:/usr/local direkt verwenden, um die qhyu-Datei auf 153 direkt in das angegebene Verzeichnis 154 zu kopieren.

scp /path/to/local/file <hostname>:/path/to/remote/directory

Hinweis:

Wenn bei Verwendung des privaten Schlüssels zum Herstellen einer Verbindung mit dem Zielserver eine Eingabeaufforderung ähnlich der „Geben Sie die Passphrase für den Schlüssel ein“ erscheint, bedeutet dies, dass die private Schlüsseldatei mit einem Passwortschutz versehen ist und das Passwort eingegeben werden muss, um den privaten Schlüssel zur Authentifizierung zu verwenden.

Wenn Sie ein Kennwort für einen privaten Schlüssel festlegen und es vergessen, können Sie diesen privaten Schlüssel nicht zur Authentifizierung verwenden. Sie können versuchen, das Passwort der privaten Schlüsseldatei mit dem folgenden Befehl zu überprüfen:

ssh-keygen -y -f ~/.ssh/154_rsa

Dieser Befehl zeigt den öffentlichen Schlüssel unter Verwendung des angegebenen privaten Schlüsseldateipfads ( ~/.ssh/154_rsa) an und fordert Sie gleichzeitig zur Eingabe der Passphrase auf. Wenn Sie das richtige Passwort eingegeben haben, wird der öffentliche Schlüssel angezeigt. Wenn Sie ein falsches Passwort eingeben, wird eine Fehlermeldung angezeigt.

Wenn Sie den Passwortschutz der privaten Schlüsseldatei entfernen möchten, verwenden Sie den folgenden Befehl:

ssh-keygen -p -f ~/.ssh/154_rsa

Dieser Befehl entfernt den Passwortschutz mithilfe des angegebenen Dateipfads für den privaten Schlüssel ( ~/.ssh/154_rsa) und fordert Sie zur Eingabe eines neuen Passworts auf. Wenn Sie kein neues Passwort festlegen möchten, können Sie diesen Schritt durch Drücken der Eingabetaste überspringen.

Wenn Sie den Passwortschutz der privaten Schlüsseldatei erfolgreich entfernt haben, können Sie die private Schlüsseldatei verwenden, um eine Verbindung zum Zielserver herzustellen, ohne das Passwort zur Authentifizierung einzugeben.

Je suppose que tu aimes

Origine blog.csdn.net/Tanganling/article/details/131722265
conseillé
Classement