2013-01-09 115 views
40

我創建了一個新的密鑰對並將其下載到我的mac,然後使用該密鑰對和我的安全組建立一個新的Amazon Linux AMI服務器。現在我需要將我下載到我的用戶文件夾中的.ssh文件中的密鑰對.pem文件?不過,由於名稱的原因,我無法創建名爲「.ssh」的文件夾。通過SSH連接到亞馬遜aws linux服務器

我在哪裏把密鑰對放在我的mac上?然後需要什麼chmods或其他命令從我的Linux bash連接到服務器?我知道「ssh我的公共DNS」,但還有什麼其他權限或其他任何我應該知道的?這是一個新手問題。謝謝。

回答

67

您需要將密鑰對放在{your home directory} /。ssh中。如果該文件夾不存在,請創建它。一旦你把密鑰對放在那裏,你必須改變文件的權限,這樣只有你的用戶才能讀取它。 啓動終端輸入

chmod 600 $HOME/.ssh/<your keypair file> 

限制訪問該文件,然後限制訪問該文件夾類型

chmod 700 $HOME/.ssh 

你必須限制訪問,因爲OpenSSH的協議不會讓您使用其他人可以查看的密鑰。

然後登錄到您的實例,從終端則需要輸入

ssh -i <your home directory>/.ssh/<your keypair file> [email protected]<ec2 hostname>

+3

我覺得你的意思是〜/ .ssh而不是/.ssh – Tuim

+0

你說得對,我的錯。謝謝 – jarriett

+0

這就是問題的一部分。我不能創建一個名爲「.ssh」的文件夾,因爲名稱中的句號是不允許的。我如何創建該文件夾?感謝您的上述答覆。 – brno792

58

你也可以創建一個文件的〜/ .ssh/config中 搭配chmod它644 然後在裏面可以添加類似這

host mybox-root 
    Hostname [the IP or dns name] 
    User root 
    IdentityFile ~/.ssh/[your keypair here] 

那麼你可以做

$ SSH myBox上根

,您將更容易登錄。

+0

偉大的附加答案,謝謝。 – Air

+0

很好的答案。我會鼓勵大家遵循這個! –

-1

有人問在Mac上的一個簡單的方法來創建的〜/ .ssh文件夾是運行命令的ssh-凱基,然後使用下面的設置...

A.

macbook-air$ ssh-keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key (/Users/sam/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/sam/.ssh/id_rsa. 
Your public key has been saved in /Users/sam/.ssh/id_rsa.pub. 

B.然後創建:

touch ~/.ssh/authorized_keys 

C.修復權限:

chmod 600 ~/.ssh/authorized_keys 

D.AWS密鑰複製到該文件:

cp AWS_key.text ~sam/.ssh/authorized_keys 

創建EC2實例

E.然後測試的ssh來AWS Linux服務器的時候#你將有可能挽救這個SSH密鑰早些時候 - 你會看到這樣的錯誤:

ssh -i ./authorized_keys [email protected] 

請以用戶「ec2-user」而不是用戶「root」身份登錄。

F.重新嘗試,它應該與允許用戶AWS「EC2用戶」工作:

ssh -i ./authorized_keys [email protected] 
     __| __|_ ) 
     _| ( / Amazon Linux AMI 
     ___|\___|___| 

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/ 
9 package(s) needed for security, out of 12 available 
Run "sudo yum update" to apply all updates. 

希望這有助於,一切順利。

+0

這是不正確的。 〜/ .ssh/authorized_keys文件用於包含用戶的公鑰,該用戶可以使用它所在的服務器進行身份驗證,而不是連接到外部服務器。 –