Hol kell lennie a authority_key fájlomnak, ha ssh-t akarok küldeni a `localhost`-nak?

Megvan a nyilvános / privát kulcsom beállítása, de nem tudom, hova kell menni. Ha mindkét fájlt a a felhasználóm számára?

Válasz

A privát kulcs otthon marad. A nyilvános kulcs:

  • Helyezze a magánkulcsát a ~/.ssh (helyi gazdagép) helyre. Ez általában ~/.ssh/id_rsa lesz.
  • Helyezze a nyilvános kulcsot a ~/.ssh/authorized_keys (távoli gazdagép) helyre.

Míg az első lépést általában a kulcs, a második a következő módon érhető el:

$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost 

Ha bármilyen távoli konfigurációja van a távoli állománnyal kapcsolatban, ezzel problémába ütközhet (a hitelesítés sikertelen , vagy “túl sok hitelesítési hiba” ). A probléma megszabadításához kényszerítheti a (z) ssh-copy-id alkalmazást jelszó-hitelesítésre a következővel:

$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost 

Természetesen o Ha a kulcsai helyesen vannak elhelyezve, nincs többé szükség jelszóra:

$ ssh user@remotehost 

Érdemes felvenni néhány SSH-konfigurációt a még egyszerűbbé tétele érdekében:

Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa 

Ennek köszönhetően egyszerűen beírhatja a következőket a távoli gazdagépre való bejelentkezéshez:

$ ssh [custom name for the remote machine] 

Szerkesztés: ha mindkét gép (helyi és távoli) megegyezik, egyszerűsítheti az eljárást a következővel:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

Ez a nyilvános kulcsot hozzáfűzi a authorized_keys fájlhoz. Természetesen egy másik módja annak, hogy másként jelentkezzen be a helyi gépére:

$ su [another user] 

Ez megmenti az SSH-tranzakciókat, ahol szükség lehet rá . Jelszó nélküli su a sudo :

$ sudo -iu [another user] 

Megjegyzések

  • Ez ugyanaz, ha ssh localhost?
  • @MrDuk Ebben az esetben a helyi és a távoli vég is ugyanaz a gép. Ezért a nyilvános kulcsnak helyileg ~/.ssh/authorized_keys belül kell lennie. Ehhez egyszerűen használhatja a cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys parancsot. Szerkesztettem a válaszomat.
  • Lehet, hogy a válaszod óta változtak a dolgok, de hozzá kellett adnom egy -i -t az első parancsodhoz, hogy az egész parancs úgy nézzen ki, mint $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük