Android

SSH-opdracht

Top 5 Best Commandos of Pakistan Army - Pakistani Commandos Training

Top 5 Best Commandos of Pakistan Army - Pakistani Commandos Training

Inhoudsopgave:

Anonim

Secure Shell (SSH) is een cryptografisch netwerkprotocol dat wordt gebruikt voor een gecodeerde verbinding tussen een client en een server. De SSH-client maakt een veilige verbinding met de SSH-server op een externe computer. De gecodeerde verbinding kan worden gebruikt om opdrachten uit te voeren op de server, X11-tunneling, port forwarding en meer.

Er zijn een aantal SSH-clients beschikbaar, zowel gratis als commercieel, waarbij OpenSSH de meest gebruikte client is. Het is beschikbaar op alle belangrijke platforms, waaronder Linux, OpenBSD, Windows, macOS en andere.

, leggen we uit hoe u de OpenSSH-opdrachtregelclient ( ssh ) kunt gebruiken om in te loggen op een externe computer en opdrachten uit te voeren of andere bewerkingen uit te voeren.

OpenSSH Client installeren

Het OpenSSH-clientprogramma wordt ssh en kan vanaf de terminal worden opgeroepen. Het OpenSSH-clientpakket biedt ook andere SSH-hulpprogramma's zoals scp en sftp die naast de opdracht ssh worden geïnstalleerd.

OpenSSH Client installeren op Linux

OpenSSH-client is standaard vooraf geïnstalleerd op de meeste Linux-distributies. Als de ssh-client niet op uw systeem is geïnstalleerd, kunt u deze installeren met behulp van de pakketbeheerder van uw distributie.

OpenSSH installeren op Ubuntu en Debian

sudo apt update sudo apt install openssh-client

OpenSSH installeren op CentOS en Fedora

sudo dnf install openssh-clients

OpenSSH Client installeren op Windows 10

De meeste Windows-gebruikers gebruiken Putty om via SSH verbinding te maken met een externe machine. De nieuwste versies van Windows 10 bevatten echter een OpenSSH-client en -server. Beide pakketten kunnen worden geïnstalleerd via de GUI of PowerShell.

Typ de volgende opdracht om de exacte naam van het OpenSSH-pakket te vinden:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Het commando moet zoiets teruggeven:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Zodra u de pakketnaam kent, installeert u deze door:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Bij succes ziet de output er ongeveer zo uit:

Path: Online: True RestartNeeded: False

OpenSSH Client installeren op macOS

macOS wordt standaard geleverd met de OpenSSH-client.

Hoe het ssh commando te gebruiken

Aan de volgende vereisten moet worden voldaan om via SSH in te kunnen loggen op een externe machine:

  • Er moet een SSH-server op de externe computer actief zijn. De SSH-poort moet open zijn in de firewall van de externe machine. U moet de gebruikersnaam en het wachtwoord van de externe account weten. Het account moet de juiste rechten hebben voor inloggen op afstand.

De basissyntaxis van de opdracht ssh is als volgt:

ssh:HOST

Om de opdracht ssh gebruiken, opent u uw Terminal of PowerShell en typt u ssh gevolgd door de externe hostnaam:

ssh ssh.linuxize.com

Wanneer u voor het eerst verbinding maakt met een externe machine via SSH, ziet u een bericht zoals hieronder.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Elke host heeft een unieke vingerafdruk die is opgeslagen in het bestand ~/.ssh/known_hosts .

Typ yes om de externe vingerafdruk op te slaan en u wordt gevraagd uw wachtwoord in te voeren.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

Nadat u het wachtwoord hebt ingevoerd, wordt u aangemeld op de externe machine.

Wanneer de gebruikersnaam niet wordt opgegeven, gebruikt de opdracht ssh de huidige systeemaanmeldingsnaam.

Om in te loggen als een andere gebruiker, geeft u de gebruikersnaam en de host op in de volgende indeling:

ssh username@hostname

De gebruikersnaam kan ook worden opgegeven met de optie -l :

ssh -l username hostname

Wanneer er geen poort wordt gegeven, probeert de SSH-client standaard verbinding te maken met de externe server op poort 22. Op sommige servers wijzigen beheerders de standaard SSH-poort om een ​​extra beveiligingslaag aan de server toe te voegen door het risico van geautomatiseerde aanvallen.

Gebruik de optie -p om de poort op te geven om verbinding te maken via een niet-standaardpoort:

ssh -p 5522 username@hostname

ssh -v username@hostname

Gebruik -vvv of -vvv om het niveau van verbosity te -vvv .

De opdracht ssh accepteert een aantal opties.

Lees de ssh man-pagina door man ssh in uw terminal te typen voor een volledige lijst van alle opties.

SSH-configuratiebestand

De OpenSSH-client leest de opties die zijn ingesteld in het configuratiebestand per gebruiker ( ~/.ssh/config ). In dit bestand kunt u verschillende SSH-opties opslaan voor elke externe machine waarmee u verbinding maakt.

Hieronder ziet u een voorbeeld van een SSH-configuratie:

Host dev HostName dev.linuxize.com User mike Port 4422

Wanneer u de ssh-client oproept door ssh dev typen, leest de opdracht het bestand ~/.ssh/config en gebruikt de verbindingsdetails die zijn opgegeven voor de dev-host. In dit voorbeeld is ssh dev gelijk aan het volgende:

ssh -p 4422 [email protected]

Raadpleeg het artikel in het SSH-configuratiebestand voor meer informatie.

Public Key Authentication

Het SSH-protocol ondersteunt verschillende authenticatiemechanismen.

Met het op openbare sleutels gebaseerde verificatiemechanisme kunt u zich aanmelden bij de externe server zonder dat u uw wachtwoord hoeft te typen.

Deze methode werkt door een paar cryptografische sleutels te genereren die worden gebruikt voor authenticatie. De persoonlijke sleutel wordt opgeslagen op het clientapparaat en de openbare sleutel wordt overgedragen naar elke externe server waarop u zich wilt aanmelden. De externe server moet worden geconfigureerd om sleutelverificatie te accepteren.

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

U wordt gevraagd om een ​​veilige wachtwoordzin te typen. Of u een wachtwoordzin wilt gebruiken, het is aan u.

Nadat u uw sleutelpaar hebt, kopieert u de openbare sleutel naar de externe server:

ssh-copy-id username@hostname

Voer het externe gebruikerswachtwoord in en de openbare sleutel wordt toegevoegd aan het bestand met authorized_keys voor de externe gebruiker.

Nadat de sleutel is geüpload, kunt u zich aanmelden bij de externe server zonder dat u om een ​​wachtwoord wordt gevraagd.

Door een op sleutels gebaseerde authenticatie in te stellen, kunt u het aanmeldingsproces vereenvoudigen en de algehele serverbeveiliging verhogen.

Port forwarding

SSH-tunneling of SSH-poort doorsturen is een methode voor het maken van een gecodeerde SSH-verbinding tussen een client en een servermachine waarmee servicespoorten kunnen worden doorgestuurd.

SSH-forwarding is handig voor het transporteren van netwerkgegevens van services die een niet-gecodeerd protocol gebruiken, zoals VNC of FTP, toegang tot geo-beperkte inhoud of het omzeilen van tussenliggende firewalls. Kortom, u kunt elke TCP-poort doorsturen en het verkeer via een beveiligde SSH-verbinding tunnelen.

Er zijn drie soorten SSH-poort doorsturen:

Doorsturen van lokale poorten

Met lokale poortdoorschakeling kunt u een verbinding van de clienthost naar de SSH-serverhost en vervolgens naar de doelhostpoort doorsturen.

Om een ​​lokale port forwarding te maken, geeft u de optie -L aan de ssh client:

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

De optie -f geeft de opdracht ssh aan dat deze op de achtergrond moet worden uitgevoerd en -N om geen opdracht op afstand uit te voeren.

Remote Port Forwarding

Port forwarding op afstand is het tegenovergestelde van lokale port forwarding. Het stuurt een poort van de serverhost naar de clienthost en vervolgens naar de doelhostpoort.

De optie -L vertelt ssh om een ​​poortdoorschakeling op afstand te maken:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

Dynamische poort doorsturen

Dynamische port forwarding creëert een SOCKS-proxyserver die communicatie via verschillende poorten mogelijk maakt.

Om een ​​dynamische port forwarding (SOCKS) te maken, geeft u de optie -D aan de ssh-client:

ssh -D LOCAL_PORT -N -f username@hostname

Raadpleeg het artikel over SSH-tunneling instellen (poort doorsturen) voor meer informatie en stapsgewijze instructies.

Conclusie

Om via SSH verbinding te maken met een externe server, gebruikt u de opdracht ssh gevolgd door de externe gebruikersnaam en hostnaam ( ssh username@hostname ).

Weten hoe je de ssh opdracht moet gebruiken, is essentieel voor het beheer van een externe server.

SSH-terminal