Mac下SSH無密碼登錄服務器配置

Linux/Mac下實現SSH無密碼登錄服務器

在可信設備上每次連接服務器都比較繁瑣,現在通過配置公私鑰就可以實現無密碼登錄。

步驟

首先我們在自己的Linux系統(客戶端,這裡是Mac)上生成一對SSH Key:SSH密鑰和SSH公鑰。密鑰保存在自己的Linux系統上。然後公鑰上傳到Linux服務器。之後我們就能無密碼SSH登錄了。SSH密鑰就好比是你的身份證明

客戶端

這裡用Mac的終端環境做演示

切換到用戶名下面的.ssh路徑下:
cd ~/.sshls查看目錄下面有沒有id_rsa、id_rsa.pub文件,如果有,則可以跳過3操作打開終端,使用下面的ssh-keygen來生成RSA密鑰和公鑰.-t表示type,就是說要生成RSA加密的鑰匙.默認的RSA長度是2048位。如果你非常注重安全,那麼可以指定4096位的長度ssh-keygen -t rsa -b 4096 -C "Your Email"
生成SSH Key的過程中會要求你指定一個文件來保存密鑰,按Enter鍵使用默認的文件就行了。然後需要輸入一個密碼來加密你的SSH Key。
SSH私鑰會保存在目錄下的~/.ssh/id_rsa文件中。SSH公鑰保存在~/.ssh/id_rsa.pub文件中

服務器

在用戶~/目錄下,同樣生成私鑰和公鑰
ssh-keygen -t rsa -b 4096 -C "Your Email"開啟ssh代理
eval "$(ssh-agent -s)"把key加入代理中
ssh-add ~/.ssh/id_rsa粘貼本地的公鑰到服務器

vi ~/.ssh/authorized_keys

也可以使用ssh-copy-id命令來完成。ssh-copy-id username@remote-server輸入遠程用戶的密碼後,SSH公鑰就會自動上傳了。SSH公鑰保存在遠程Linux服務器的~/.ssh/authorized_keys文件中.

授權文件
chmod 600 authorized_keys重啟服務
sudo service sshd restart

到這裡你就可以直接在你本地ssh username@remote-server實現無密碼登錄服務器了,非常方便。

alias 別名登錄

上面我們要登錄服務器時還是要ssh username@remote-server服務器地址一般不好記,這個時候我們就可以在Mac終端裡面設置別名,簡寫很多操作。這裡以zsh為例修改alias別名快捷方式,實現快速登錄服務器

打開配置文件
vi ~/.zshrc添加別名配置

<code>alias cvm="ssh root@your_server_address"
alias codes="cd ~/codes"
alias down="cd ~/Downloads"
alias desk="cd ~/Desktop"
alias ~="cd ~"
/<code>

3.使配置生效 source ~/.zshrc

現在我們在終端輸入 cvm 就可以無密碼快速登錄自己的服務器了輸入codes就可以快捷進入~/codes文件夾,還有很多其他的快捷方式你可以根據需要添加