GNU/Linux
Secure Shell (SSH)
Sök…
Introduktion
Ett säkert skal används för att få fjärråtkomst till en server från en klient via en krypterad anslutning. OpenSSH används som ett alternativ till Telnet-anslutningar som uppnår fjärrkontrollåtkomst men är okrypterade. OpenSSH-klienten installeras som standard på de flesta GNU / Linux-distributioner och används för att ansluta till en server. Dessa exempel visar hur man använder SSH-sviten för att acceptera SSH-anslutningar och ansluta till en annan värd.
Ansluter till en fjärrserver
För att ansluta till en server måste vi använda SSH på klienten enligt följande,
# ssh -p port user@server-address
- port - Serverns lyssnande port (standardport 22).
- användare - Måste vara en befintlig användare på servern med SSH-behörigheter.
- serveradress - Serverns IP / domän.
För ett verkligt exempel kan vi låtsas att du skapar en webbplats. Företaget du valde att vara värd för din webbplats berättar att servern finns på web-servers.com i en anpassad port 2020 och ditt kontonamn usr1 har valts för att skapa en användare på servern med SSH-privilegier. I detta fall skulle SSH-kommandot användas som sådant
# ssh -p 2020 [email protected]
Om kontonamnet på fjärrsystemet är detsamma som det som den lokala klienten kan du lämna användarnamnet av. Så om du är usr1
på båda systemen så använder jag helt enkelt web-servers.com
istället för [email protected]
.
När en server du vill ansluta till inte är direkt tillgänglig för dig kan du försöka använda ProxyJump-omkopplaren för att ansluta till den via en annan server som är tillgänglig för dig och kan ansluta till önskad server.
# ssh -J [email protected]:2020 [email protected] -p 2222
Detta låter dig ansluta till servern 10.0.0.2 (kör ssh på port 2222) via servern på 10.0.0.1 (kör ssh på port 2020). Du måste naturligtvis ha konton på båda servrarna. Observera också att -J-omkopplaren introduceras i OpenSSH version 7.3.
Installera OpenSSH-sviten
Både anslutning till en ta bort SSH-server och acceptera SSH-anslutningar kräver installation av openssh
Debian:
# apt-get install openssh
Arch Linux:
# pacman -S openssh
Yum:
# yum install openssh
Generera offentlig och privat nyckel
Så här genererar du nycklar för SSH-klient:
ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]
Till exempel:
ssh-keygen -t rsa -b 4096 - C [email protected]
Standardplats är ~/.ssh/id_rsa
för privat och ~/.ssh/id_rsa.pub
för offentlig nyckel.
För mer info, besök man.openbsd.org
Konfigurera en SSH-server för att acceptera anslutningar
Först måste vi redigera konfigurationsfilen för SSH-demonen. Även om det under olika Linux-distributioner kan vara beläget i olika kataloger, lagras det vanligtvis under /etc/ssh/sshd_config
Använd din textredigerare för att ändra värdena som anges i den här filen, alla rader som börjar med # kommenteras och måste ta bort det här tecknet för att få effekt. En lista med rekommendationer följer som sådan.
Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers user1 user2 ...etc
Observera att det är att föredra att inaktivera lösenordsinloggningar tillsammans och använda SSH-nycklar för förbättrad säkerhet, vilket förklaras i detta dokument.
Inaktivera ssh-tjänst
Detta kommer att inaktivera SSH-servertjänsten, som om det behövs kommer det att säkerställa att klienter inte kan ansluta via ssh
Ubuntu
sudo service ssh stop
Debian
sudo /etc/init.d/ssh stop
Arch Linux
sudo killall sshd
Lösenlös anslutning (med ett nyckelpar)
Först måste du ha ett nyckelpar. Om du inte har en ännu, ta en titt på 'Generera offentlig och privat nyckel ämne'.
Ditt nyckelpar består av en privat nyckel (id_rsa) och en offentlig nyckel (id_rsa.pub). Allt du behöver göra är att kopiera den offentliga nyckeln till fjärrvärden och lägga till dess innehåll i ~/.ssh/authorized_keys
.
Ett enkelt sätt att göra det är:
ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub
När den offentliga nyckeln är korrekt placerad i din användares hemmakatalog behöver du bara logga in med respektive privat nyckel:
ssh <user>@<ssh-server> -i id_rsa