
Ich benötige einen Socks5-Proxy mit einem SSH-Tunnel mit dem folgenden Befehl:
ssh -p <SSH_PORT> -CnfND 0.0.0.0:<Port> Username@ServerIP
Die Frage ist, wie kann ich für diese Verbindung ein Passwort festlegen?
wie Sie sehen, kann sich jeder mit dem Server verbinden, der durch den obigen Befehl aufgerufen wurde, ohne zu wissen, dass er Port
aufgrund von geöffnet wurde 0.0.0.0
.
Antwort1
Um die Verbindung mit einem Kennwort zu sichern, können Sie anstelle eines Kennworts die Authentifizierung mit öffentlichem Schlüssel verwenden. Bei diesem Ansatz generieren Sie auf Ihrem lokalen Computer ein öffentliches/privates Schlüsselpaar, kopieren den öffentlichen Schlüssel auf den Server und verwenden dann den privaten Schlüssel, um die Verbindung zu authentifizieren.
Hier ist eine Schritt-für-Schritt-Anleitung:
- Generieren Sie ein öffentliches/privates Schlüsselpaar auf Ihrem lokalen Computer:
ssh-keygen -t rsa
- Kopieren Sie den öffentlichen Schlüssel auf den Server:
ssh-copy-id -p <SSH_PORT> -i ~/.ssh/id_rsa.pub UserName@ServerIP
- Stellen Sie mit dem privaten Schlüssel eine Verbindung zum Server her:
ssh -p <SSH_PORT> -CnfND 0.0.0.0:<Port> -i ~/.ssh/id_rsa UserName@ServerIP
Bei dieser Konfiguration werden Sie aufgefordert, anstelle eines Kennworts Ihre private Schlüssel-Passphrase einzugeben (sofern eine festgelegt wurde). Die Verbindung wird nur hergestellt, wenn der öffentliche Schlüssel auf dem Server mit dem privaten Schlüssel auf Ihrem lokalen Computer übereinstimmt.
Hinweis: Bewahren Sie den privaten Schlüssel sicher auf, da jeder, der Zugriff auf den privaten Schlüssel hat, ihn für die Verbindung mit dem Server verwenden kann.