Hur man Lägger till Din EC2 PEM-Filen till Din SSH-Nyckelring

0
194

När du skapar en ny instans i EC2, kommer du att få en PEM-fil som fungerar som din viktigaste tillgång. Du måste använda detta för att köra SSH till servern, så du vill lägga till den i din nyckelring för enkel åtkomst.

Hur du Använder Din PEM-Fil

Du kan använda PEM-filer manuellt genom att lägga till det -jag flagga för att ssh:

ssh -jag nyckelfil.pem-användare@värd

Detta är otymplig att skriva varje gång, så det finns några olika sätt att fixa detta.

Det enklaste sättet skulle vara att lägga till din egen publika nycklar till din EC2 exempel, och ignorera PEM-fil för alla framtida inloggningar. Din publika nyckel lagras oftast i ~/.ssh/id_rsa.pub, så du vill kopiera det här till ~/.ssh/authorized_keys-fil på servern. Om du är en one man team helt enkelt kör en server, och inte har något emot att göra detta varje gång, det är allt du har att göra.

Men du måste gå igenom den här processen varje gång du skapar en ny instans. Men med PEM-filer, kan du återanvända dem mellan olika instanser. Också, de är oberoende av din personliga privata nycklar, så att du kan ge dem till andra människor som behöver ssh-åtkomst.

Ssh-add-kommandot kommer att lagra en nyckel i ssh-agent tills du loggar ut:

ssh-add ~/nyckelfil.pem

Dock, du behöver för att köra detta på varje omstart, så det är inte idealiskt. Du kan lägga till detta till din ~/.bashrc eller ~/.bash_profile körs varje gång du startar upp terminalen, som löser problemet. Se till att omdirigera utdata till /dev/null för att tysta kommandot, eller du kommer att se “Identitet Extra” varje gång du öppnar terminalen.

ssh-add ~/nyckelfil.pem – >/dev/null 2>&1

Butik SSH-Nycklar I macOS Nyckelring

Om du är på macOS, kan du spara ytterligare SSH-nycklar i macOS Nyckelring. Öppna upp ~/.ssh/config och lägg till följande rader:

Host *
UseKeychain ja

Du kan nu lägga till nycklar med

ssh-add -K ~/nyckelfil.pem

Nycklar ska lagras i nyckelringen och kvarstår mellan omstarter. De kommer automatiskt att laddas precis som ~/id_rsa.

Byt id_rsa Med Din Nya Nyckel

Även om detta alternativ fungerar, det är egentligen inte något vi rekommenderar. Men, om du av någon anledning verkligen vill att din AWS privata nyckel för att bli din nya personliga privata nyckel, kan du ersätta id_rsa med PEM-fil från AWS. id_rsa laddas som standard, så ska du normalt använda den här tangenten för allt.

Gör helt säker på att du inte använder din nuvarande privata nyckeln för något (SSH till andra servrar, GitHub, etc.). Även om du tror att du inte är, bör du säkerhetskopiera dina nuvarande SSH-nycklar innan du fortsätter:

mv ~/.ssh/id_rsa ~/.ssh/id_rsa_old
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa_old.pub

AWS PEM-filen behöver konverteras till PKCS8 format för att användas som en privat nyckel. Du kan göra detta med OpenSSL:

openssl pkey < nyckelfil.pem > nyckelfil.pkcs8

Sedan, du kommer att behöva generera motsvarande publika nyckel, återigen med hjälp av OpenSSL

openssl rsa-in nyckelfil.pkcs8 -pubout > nyckelfil.pub

Så, se till att du har säkerhetskopierat dina gamla id_rsa, kan du ersätta dem med din nya:

mv nyckelfil.pkcs8 ~/.ssh/id_rsa
mv nyckelfil.pub ~/.ssh/id_rsa.pub