Zoeken…


Invoering

Een beveiligde shell wordt gebruikt om op afstand toegang te krijgen tot een server vanaf een client via een gecodeerde verbinding. OpenSSH wordt gebruikt als alternatief voor Telnet-verbindingen die externe shell-toegang tot stand brengen, maar die niet zijn gecodeerd. De OpenSSH-client is standaard geïnstalleerd op de meeste GNU / Linux-distributies en wordt gebruikt om verbinding te maken met een server. Deze voorbeelden laten zien hoe u de SSH-suite kunt gebruiken om SSH-verbindingen te accepteren en verbinding te maken met een andere host.

Verbinding maken met een externe server

Om verbinding te maken met een server moeten we SSH als volgt op de client gebruiken,

# ssh -p port user@server-address
  • port - De luister-ssh-poort van de server (standaardpoort 22).
  • gebruiker - Moet een bestaande gebruiker op de server zijn met SSH-rechten.
  • serveradres - Het IP / domein van de server.

Laten we voor een voorbeeld uit de echte wereld doen alsof u een website maakt. Het bedrijf dat u hebt gekozen om uw site te hosten, vertelt u dat de server zich bevindt op web-servers.com op een aangepaste poort van 2020 en dat uw accountnaam usr1 is gekozen om een gebruiker op de server met SSH-rechten te maken. In dit geval zou het gebruikte SSH-commando als zodanig zijn

# ssh -p 2020 [email protected]

Als de accountnaam op het externe systeem dezelfde is als die van de lokale client, kunt u de gebruikersnaam weglaten. Dus als u usr1 op beide systemen bent, kunt u eenvoudigweg web-servers.com gebruiken web-servers.com plaats van [email protected] .

Wanneer een server waarmee u verbinding wilt maken niet rechtstreeks voor u toegankelijk is, kunt u proberen de ProxyJump-schakelaar te gebruiken om verbinding te maken via een andere server die voor u toegankelijk is en verbinding kan maken met de gewenste server.

# ssh -J [email protected]:2020 [email protected] -p 2222

Hiermee kunt u verbinding maken met de server 10.0.0.2 (met ssh op poort 2222) via de server op 10.0.0.1 (met ssh op poort 2020). Je moet natuurlijk op beide servers accounts hebben. Merk ook op dat de -J-schakelaar is geïntroduceerd in OpenSSH versie 7.3.

OpenSSH-suite installeren

Zowel verbinden met een SSH-server verwijderen als SSH-verbindingen accepteren vereist installatie van openssh

Debian:

# apt-get install openssh

Arch Linux:

# pacman -S openssh

Yum:

# yum install openssh

Genereer publieke en private sleutel

Om sleutels voor SSH-client te genereren:

ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]

Bijvoorbeeld:

ssh-keygen -t rsa -b 4096 - C [email protected]

Standaardlocatie is ~/.ssh/id_rsa voor privé en ~/.ssh/id_rsa.pub voor openbare sleutel.

Ga voor meer informatie naar man.openbsd.org

Een SSH-server configureren om verbindingen te accepteren

Eerst moeten we het SSH-daemon-configuratiebestand bewerken. Hoewel onder verschillende Linux-distributies dit zich in verschillende mappen kan bevinden, wordt het meestal opgeslagen onder /etc/ssh/sshd_config

Gebruik uw teksteditor om de waarden in dit bestand te wijzigen, alle regels die beginnen met # worden weggelaten en dit teken moet worden verwijderd om enig effect te hebben. Een lijst met aanbevelingen volgt als zodanig.

Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers    user1 user2 ...etc

Houd er rekening mee dat het de voorkeur verdient om alle wachtwoordaanmeldingen samen uit te schakelen en SSH-sleutels te gebruiken voor verbeterde beveiliging, zoals uitgelegd in dit document.

Schakel ssh-service uit

Hierdoor wordt de SSH-server-side-service uitgeschakeld, omdat dit indien nodig verzekert dat clients geen verbinding kunnen maken via SSH

Ubuntu

sudo service ssh stop

Debian

sudo /etc/init.d/ssh stop

Arch Linux

sudo killall sshd

Wachtwoordloze verbinding (met behulp van een sleutelpaar)

Allereerst moet je een sleutelpaar hebben. Als je er nog geen hebt, bekijk dan het onderwerp 'Publieke en private sleutel genereren'.

Uw sleutelpaar bestaat uit een privésleutel (id_rsa) en een openbare sleutel (id_rsa.pub). Het enige wat u hoeft te doen is de openbare sleutel naar de externe host te kopiëren en de inhoud ervan toe te voegen aan het bestand ~/.ssh/authorized_keys .

Een eenvoudige manier om dat te doen is:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Zodra de openbare sleutel correct in de thuismap van uw gebruiker is geplaatst, hoeft u alleen maar in te loggen met de respectieve persoonlijke sleutel:

ssh <user>@<ssh-server> -i id_rsa



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow