ssh och scp utan lösenord

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2004-03-12 21:49

Alla som använder ssh och scp vet hur störande det kan vara att hela tiden, efter varje ssh/scp-kommando, behöva ange lösenord till 'mottagande' dator. Men det finns en smidig lösning, så man slipper lösenordet. Den heter RSA - säkra nycklar.

Historia:
RSA - 'public-keys'-kryptering - på datorer började utvecklas redan 1977. Namnet 'RSA' kommer från teknikens utvecklare Ron Rivest, Adi Shamir, och Leonard Adlemans initialer.

RSA är en MYCKET komplicerad och nästan obegriplig teknik för oss vanliga användare. Så min tutorial som visar hur du kan använda ssh/scp utan att ange lösenord, förklarar inte RSA i detalj. Men det kommer att fungera. Med hela säkerhetstänkadet i RSA.

Grunden i RSA tekniken är att man skapar ett 'nyckel-par'. Två 'koder' som accepterar varandra (två eller flera datorer som litar på varandra).

Programmet för att ska RSA-nycklar är 'ssh-keygen'. Jag kommer inte att förklara alla options. Använd 'man ssh-keygen' för mer information.

För att skapa ett 'nyckel-par' kör du kommandot:
$ ssh-keygen -t rsa -P ""
# Tryck bara 'Return' efter:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/wire/.ssh/id_rsa):

Your identification has been saved in /Users/wire/.ssh/id_rsa.
Your public key has been saved in /Users/wire/.ssh/id_rsa.pub.
The key fingerprint is:
ba:04:2d:de:06:bb:93:ba:b1:6b:a1:63:65:e5:f5:eb wire@lincoln.local

Nu är 'nyckel-paret' skapat, i två olika filer. Din egen nyckel och den nyckel som du ska överföra till 'mottagande' dator. Den dator som du anropar via ssh/scp.

Filerna är /Users/wire/.ssh/id_rsa och /Users/wire/.ssh/id_rsa.pub.

Det är filen /Users/wire/.ssh/id_rsa.pub. som du måste överföra till 'mottagande' dator. Det gör du via scp - den du än så länge måste ange lösenord till

På den 'mottagande' datorn':
När du gjort det överför du 'nyckel' till filen '$HOME/.ssh/authorized_keys. T.ex. enklast med 'cat /users/wire/Desktop/id_rsa.pub >> /users/wire/.ssh/authorized_keys'.

Nu kan du använda ssh/scp utan lösenord!!! (och det säkert). Ovärdeligt i sh-script, 'host to host'. Smidigeten personifierad.

O.B.S! Sökvägarna varierar naturligtvis beroende på vilket directory du kopierar filen 'id_rsa.pub' till.

Senast redigerat 2004-03-12 22:03
  • Oregistrerad
  • 2004-03-13 00:18

Detta är en säkerhetsrisk fast har själv kört det på det viset ibland, det man bör göra är att slänga in ett lösenord på sin RSA nyckel istället, då har du ett och samma lösen till alla connections. Då slipper du risken att någon snor din nyckel och sen från annan dator loggar in till dina servrar och rotar runder.

Då säger ni "Men vad är då nyttan med en nyckel"

Jo det är så att man kan få samma funktionalitet ändån, finns ett program till terminal så att när du loggar in i terminalen(första gången efter du startat datorn) så får du skriva lösenordet för nyckeln, sen efter det så slipper du skriva nyckelns kod var gång, men när nyckeln kopieras till ny burk eller din dator startas om(kanske gäller sleep med) så måste du(eller en annan tjuv) ange koden igen.

En kille vid namn Daniel som är aktiv i gentoo världen som tagit fram ett sådant program.

  • Medlem
  • 2004-03-14 11:58

tackar för tipset - tänkt göra detta länge men kom mig för nu när jag fick alla detaljer...

  • Medlem
  • Uppsala
  • 2004-03-17 10:51

Jag använder det sen länge, otroligt smidigt att slippa lösenord men ändå ha viss säkerhet...

Sen lägger man förstår ett alias i .bash_login så man kan ansluta ännu enkare:

alias servern="ssh -l användarnamn www.example.net"

Senast redigerat 2004-05-17 21:59
  • Medlem
  • Uppsala
  • 2004-05-17 17:37

Du menar förstås "alias servern="ssh -l användarnamn www.example.net"" eftersom flaggan -l anger användarnamnet om man inte har samma på den dator man loggar in ifrån.

Ah, tack jb. Jo, självklart, det var en miss av mig. (Ett av mina SSH-konton går till en maskin där jag har samma användarnamn (och det var det exemplet som dök upp i skallen förut) men annars har jag förstås användarnamnet med.)

Jag ska ändra mitt ovanstående inlägg så att det inte blir några problem för den som vill använda exemplet.

1
Bevaka tråden