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

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

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

步驟

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

客戶端

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

  1. 切換到用戶名下面的.ssh路徑下:
    cd ~/.ssh
  2. ls查看目錄下面有沒有id_rsa、id_rsa.pub文件,如果有,則可以跳過3操作
  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文件中

服務器

  1. 在用戶~/目錄下,同樣生成私鑰和公鑰

    ssh-keygen -t rsa -b 4096 -C "Your Email"
  2. 開啟ssh代理
    eval "$(ssh-agent -s)"
  3. 把key加入代理中
    ssh-add ~/.ssh/id_rsa
  4. 粘貼本地的公鑰到服務器

vi ~/.ssh/authorized_keys

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

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

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

alias 別名登錄

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

  1. 打開配置文件
    vi ~/.zshrc
  2. 添加別名配置
<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文件夾,還有很多其他的快捷方式你可以根據需要添加


分享到:


相關文章: