制作密鑰對
首先在服務(wù)器上制作密鑰對。首先用密碼登錄到你打算使用密鑰登錄的賬戶,然后執(zhí)行以下命令:
[root@host ~]$ ssh-keygen <== 建立密鑰對
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
Enter same passphrase again: <== 再輸入一遍密鑰鎖碼
Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
在客戶端來看帮碰,SSH提供兩種級別的安全驗證。
- 在本地機器創(chuàng)建公鑰
ssh-keygen -t rsa -C 'your email@domain.com'
-t 指定密鑰類型拾积,默認(rèn)即 rsa 殉挽,可以省略
-C 設(shè)置注釋文字,比如你的郵箱 - 將公鑰復(fù)制到ssh服務(wù)器
將前一步驟生成的公鑰/id_rsa.pub文件拓巧,復(fù)制到ssh服務(wù)器對應(yīng)用戶下的/.ssh/authorized_keys文件,可以有多種方式斯碌,這里只介紹常用的三種。-
[適用于osx系統(tǒng)]使用ssh-copy-id-for-OSX工具將公鑰復(fù)制至ssh服務(wù)器
brew install ssh-copy-id ssh-copy-id username@hostname #將username和hostname替換為你的ssh服務(wù)器用戶名和IP
-
* 當(dāng)ssh服務(wù)器username用戶目錄下尚未有.ssh目錄時使用此方式
`cat ~/.ssh/id_rsa.pub | ssh username@hostname "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"`
* 通用方式
```
scp ~/.ssh/id_rsa.pub username@hostname:~/ #將公鑰文件復(fù)制至ssh服務(wù)器
ssh username@hostname #使用用戶名和密碼方式登錄至ssh服務(wù)器
mkdir .ssh #若.ssh目錄已存在肛度,可省略此步
cat id_rsa.pub >> .ssh/authorized_keys #將公鑰文件id_rsa.pub文件內(nèi)容追加到 authorized_keys文件
- 快捷登錄
完成以上步驟后傻唾,即可使用以下命令直接登錄ssh服務(wù)器
ssh username@hostname #將username替換為你的ssh服務(wù)器用戶名,hostname替換為服務(wù)器的ip
如果你本地終端使用的是zsh贤斜,那就太簡單不過了策吠,直接給zsh添加一條別名echo "alias ssh-to-username='ssh username@hostname'" >> ~/.zshrc #將username和 hostname替換為你的服務(wù)器信息 source ~/.zshrc #重新加載更改后的zshrc文件 ssh-to-username #使用別名逛裤,一條命令即可登錄你的ssh服務(wù)器