linux下ssh通過公鑰登錄服務器


經常會通過ssh登錄遠程服務器,一種是通過密碼方式登錄,一種是通過公鑰登錄。

如何設置通過公鑰登錄服務器

1. 首先生成自己的公鑰和私鑰

ssh-keygen 命令用來生成公鑰和私鑰
    -t 用來指定密鑰類型(dsa | ecdsa | ed25519 | rsa | rsa1)
    -p 用來指定密碼短語
    -C 用來添加注釋

比如
ssh-keygen -t rsa -C "mykey"

此時,會在存放ssh秘鑰的地方生成兩個文件(不同系統,存放秘鑰的地方不同),“.pub”結尾的是公鑰,另一個是私鑰

2. 第二步,將公鑰部署到服務器

公鑰需要寫入到服務的  ~/.ssh/authorized_key文件中,這里我通過sftp將公鑰上傳到服務器,然后將文件內容寫入到  ~/.ssh/authorized_key文件中

上傳公鑰到服務器
sftp root@yourhost -p 22

put  mykey.pub 

將文件寫入authorized_keys中
cat mykey.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

3. 設置服務器ssh的可以通過公鑰登錄

打開/etc/sshd_config文件,修改如下配置

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

4. 重啟ssh服務,就可以通過公鑰登錄了

sudo service ssh restart

 

ssh客戶端配置文件

當主機較多的時候,不方便記住所有的IP、用戶、端口以及密碼,為了解決這個問題我們可以使用一個ssh的配置文件來記錄這些服務器。

常用的配置

Host 主機別名
HostName 主機地址
User 登陸用戶名
Port 端口號
IdentityFile 私鑰路徑

 

在~/.ssh/目錄下創建一個config文件,在config中寫入相應的配置后就可以使用 ssh  <主機別名> 直接連接服務器了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM