前言
個人購買了阿里云服務(wù)器亲茅,配置好遠(yuǎn)程連接密碼和登陸密碼后,使用iTerm2終端ssh root@ip茵肃,每次都需要輸入密碼,實在是麻煩免姿。
所謂的ssh免密登陸,其實是將本機(jī)的公鑰存到服務(wù)器上,authorized_keys文件是Linux系統(tǒng)默認(rèn)生成的用來保存遠(yuǎn)程登錄設(shè)備的公鑰故俐。初始時為空,在.ssh目錄下药版。
環(huán)境準(zhǔn)備
- 阿里云ECS服務(wù)器
- macOS系統(tǒng)
- 本機(jī)SSH公鑰
(1)查詢本地是否生成過
cat ~/.ssh/id_rsa.pub
如果沒有,則繼續(xù)執(zhí)行(2)
(2)生成公鑰
ssh-keygen -t rsa
或
ssh-keygen -t rsa -C "email地址"
說明:第二個引號內(nèi)是郵箱mail槽片,生成后可以作為Git遠(yuǎn)程倉庫使用。該指令回車后需要輸入鍵值對和密碼还栓,直接回車就行。
執(zhí)行(1)剩盒,查看是否公鑰是否生成。
配置
下面提供了兩種方法纪挎,二選一即可期贫。
方法一
- 如果是第一次配置异袄,先查看遠(yuǎn)程服務(wù)器 /home下是否有.ssh文件夾,如果沒有烤蜕,執(zhí)行:
mkdir .ssh
如果有,該步驟跳過玖绿。
- 將本機(jī)公鑰文件上傳至服務(wù)器
scp .ssh/id_rsa.pub root@ip:/home/.ssh
- 添加公鑰到authorzied_keys文件
cat id_rsa.pub >> .ssh/authorized_keys
- 刪除臨時文件
rm id_rsa.pub
方法二
終端執(zhí)行:
ssh-copy-id root@ip
輸入登陸密碼(即實例密碼)即可。
配置成功信息如下:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@xxx.xx.xxx.xxx'"
and check to make sure that only the key(s) you wanted were added.
這里我使用的是方法二呐籽。需要說明的是,如果使用該方法狡蝶,不需要查看服務(wù)器是否有.ssh文件夾。
測試
上面的方法二選一即可贪惹,終端執(zhí)行ssh root@ip就可以實現(xiàn)免密碼登陸了。
其他
在本機(jī).zshrc中配置別名
alias[別名]=[指令名稱]
如:
alias liulinde='ssh root@xxx.xx.xxx.xxx'
保存退出后奏瞬,執(zhí)行命令使改動生效泉孩。
source .zshrc
回到終端硼端,示例如下:
~ liulinde
Last failed login: Fri Apr 24 22:24:18 CST 2020 from 138.204.122.220 on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Fri Apr 24 21:38:32 2020 from 117.100.126.53
Welcome to Alibaba Cloud Elastic Compute Service !
簡單好記寓搬!