Creating and Using an ssh config file
Innehållsförteckning:
- förutsättningar
- SSH Config File Location
- SSH Config filstruktur och mönster
- SSH Config File Exempel
- Delat SSH-konfigurationsfilsexempel
- Överstyr alternativet SSH Config File
- Slutsats
Ett alternativ skulle vara att skapa ett basalias för varje fjärrserveranslutning. Men det finns en annan, mycket bättre och enklare lösning på detta problem. OpenSSH låter dig ställa in en konfigurationsfil per användare där du kan lagra olika SSH-alternativ för varje fjärrmaskin du ansluter till.
Den här guiden behandlar grunderna i SSH-klientens konfigurationsfil och förklarar några av de vanligaste konfigurationsalternativen.
förutsättningar
Vi antar att du använder ett Linux- eller macOS-system med OpenSSH-klient installerad.
SSH Config File Location
OpenSSH-konfigurationsfilen på klientsidan heter
config
och lagras i
.ssh
katalogen under användarens hemkatalog.
~/.ssh
skapas automatiskt när användaren kör
ssh
kommandot för första gången. Om katalogen inte finns i ditt system, skapa den med kommandot nedan:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
Som standard finns kanske inte SSH-konfigurationsfilen så du kan behöva skapa den med pekskommandot:
touch ~/.ssh/config
Denna fil måste vara läsbar och skrivbar endast av användaren och inte tillgänglig för andra:
SSH Config filstruktur och mönster
SSH-konfigurationsfilen har följande struktur:
Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value
Innehållet i konfigurationsfilen för SSH-klienten är organiserad i strofer (avsnitt). Varje strofe börjar med
Host
och innehåller specifika SSH-alternativ som används vid upprättande av en anslutning till fjärr SSH-servern.
Indragning krävs inte men rekommenderas eftersom den gör filen lättare att läsa.
Host
kan innehålla ett mönster eller en mellanrumsskild lista över mönster. Varje mönster kan innehålla noll eller fler tecken som inte är whitespace eller en av följande mönsterspecifikationer:
-
*- Matchar noll eller fler tecken. Till exempel matcharHost *alla värdar, medan192.168.0.*Matchar värdar i192.168.0.0/24.?- Matchar exakt en karaktär. Mönstret,Host 10.10.0.?matchar alla värdar i10.10.0.räckvidd.!- När den används i början av ett mönster, negerar det matchen. Till exempel ärHost 10.10.0.* !10.10.0.5alla värdar i10.10.0.0/24utom10.10.0.5.
SSH-klienten läser konfigurationsfilsstansen efter strofer, och om fler än ett mönster matchar har alternativen från den första matchande strofen företräde. Därför bör mer värdspecifika deklarationer ges i början av filen och mer allmänna åsidosättningar i slutet av filen.
Du kan hitta en fullständig lista över tillgängliga ssh-alternativ genom att skriva
man ssh_config
i din terminal eller genom att besöka ssh_config man-sidan.
SSH-konfigurationsfilen läses också av andra program som
scp
,
sftp
och
rsync
.
SSH Config File Exempel
Nu när vi har täckt det grundläggande för SSH-konfigurationsfilen, låt oss titta på följande exempel.
Vanligtvis när du ansluter till en fjärrserver via SSH skulle du ange fjärranvändarnamn, värdnamn och port. För att logga in som en användare med namnet
john
till en värd som heter
dev.example.com
på port
2322
från kommandoraden skriver du:
ssh [email protected] -p 2322
För att ansluta till servern med samma alternativ som anges i kommandot ovan genom att bara skriva
ssh dev
, sätter du följande rader i din
"~/.ssh/config
fil:
Host dev HostName dev.example.com User john Port 2322
När du skriver
ssh dev
kommer ssh-klienten att läsa konfigurationsfilen och använda anslutningsinformationen som anges för
dev
värden:
Delat SSH-konfigurationsfilsexempel
Detta exempel ger mer detaljerad information om värdmönstret och alternativets prioritet.
Låt oss ta följande exempelfil:
Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes
-
När du skriver
ssh targaryenläser ssh-klienten filen och tillämpar alternativen från den första matchen, som ärHost targaryen. Sedan kontrollerar de nästa strofer en och en för ett matchande mönster. Den nästa matchande ärHost * !martell(vilket betyder alla värdar utommartell), och det kommer att använda anslutningsalternativet från den här strofen. Den sista definitionenHost *matchar också, men ssh-klienten tar baraCompressioneftersom användaralternativet redan är definierat iHost targaryenstrofen.Den fullständiga listan med alternativ som används när du skriver
ssh targaryenär följande:HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yesNär du kör
ssh tyrellde matchandessh tyrell:Host tyrell,Host *ell,Host * !martellochHost *. Alternativen som används i detta fall är:HostName 192.168.10.20 User oberyn LogLevel INFO Compression yesHostName 192.168.10.50 User oberyn Compression yesFör alla andra anslutningar kommer ssh-klienten att använda de alternativ som anges i
Host * !martellochHost *.
Överstyr alternativet SSH Config File
Ssh-klienten läser sin konfiguration i följande prioritetsordning:
- Alternativ som anges från kommandoraden. Alternativ definierade i
~/.ssh/configAlternativ definierade i/etc/ssh/ssh_config.
Host dev HostName dev.example.com User john Port 2322
och du vill använda alla andra alternativ, men att ansluta som användarrot istället för
john
ange helt enkelt användaren på kommandoraden:
ssh -o "User=root" dev
-F
(
configfile
) låter dig ange en alternativ konfigurationsfil per användare.
För att säga till
ssh
klienten att ignorera alla alternativ som anges i konfigurationsfilen för ssh, använd:
ssh -F /dev/null [email protected]
Slutsats
Vi har visat dig hur du konfigurerar din user ssh config-fil. Du kanske också vill ställa in en SSH-nyckelbaserad autentisering och ansluta till dina Linux-servrar utan att ange ett lösenord.
Som standard lyssnar SSH på port 22. Ändra standard SSH-port lägger till ett extra lager av säkerhet till din server genom att minska risken för automatiska attacker.
ssh terminalDet finns ett gammalt ordspråk att bygga en ny dator eller uppgradera en gammal: "Använd rätt verktyg för rätt jobb." Visst kan du använda ett smör kniv för att lossa en skruv eller ett tang för att dra åt ett moderkort, men det gör inte jobbet något jämnare, och man kan satsa på att det kan göra någon skada. Att använda rätt verktyg för ett visst jobb gör jobbet enklare och det förbättrar vanligtvis den slutliga kvaliteten på den färdiga produkten.
Varje systembyggare behöver ett antal verktyg för att slutföra alla PC-byggnader eller uppgradera med effektiviteten och precisionen hos en kirurg. Några av verktygen kommer att vara uppenbara, andra mindre.
Det finns så många systemrenare där ute, du kan packa en startskärm med dem. De är inte alla lika bra, och vissa har begränsningar för företagsanvändning. CCleaner och PC Decrapifier är bland de bästa, men de är inte helt gratis att använda i en professionell miljö. Företag som vill använda någon av dessa måste betala. Om du är en företagsanvändare som letar efter en riktigt fri systemrenare är ett intressant alternativ öppen källkod, BleachBit plattform.
BleachBits text-tunga gränssnitt är anpassat för användare som vet vad de gör.
Om du vill ladda upp en bild från din Xbox One och använda den som en gamerbild är det möjligt att göra det. Du kan också använda en USB-enhet för att ladda upp en bild och ställa den som din Xbox One-spelare.
Om du har sett dina medspelare med hjälp av en verklig bild på deras Xbox-profil, bör du veta att Xbox One låter dig använda en riktig bild av din egen eller praktiskt taget vilken som helst profil som spelare. Medan du kan göra det från datorn och använda Xbox-appen, delar jag hur jag använder en anpassad bild som gamerpic från din







