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]
ssh localhost
?~/.ssh/authorized_keys
belül kell lennie. Ehhez egyszerűen használhatja acat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
parancsot. Szerkesztettem a válaszomat.-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
.