Windows系統下實現服務器SSH免密登陸

目錄

  • 原理
  • 實現步驟安全

    • 1、生成公鑰和私鑰
    • 2、在客戶端編輯配置文件
    • 3、將公鑰拷貝到服務器
    • 4、重啓ssh服務
    • 5、關閉再打開cmd進行登陸

每次登陸服務器都要輸入密碼很麻煩,因此進行免密登陸配置以後就能夠跳過輸入密碼的步驟,直接登陸服務器.bash

原理

ssh提供了安全的身份認證的策略,在免密登陸以前,首先須要一對公鑰和私鑰.服務器

客戶端拿着私鑰,服務端拿着公鑰,屬於非對稱加密.
私鑰客戶端本身拿着不在網絡上傳輸,公鑰能夠網絡傳輸存在服務器上,登陸的時候拿私鑰進行加密,內容發送給服務器,服務器對公鑰進行解密,成功解密就告訴客戶端創建連接.網絡

實現步驟

1、生成公鑰和私鑰

用戶/.ssh目錄,打開cmd,輸入ssh-keygen,以後輸入文件名稱,一路回車就生成了私鑰和公鑰ssh

2、在客戶端編輯配置文件

用戶/.ssh目錄,打開config文件,若是沒有本身新建一個加密

# 未來能夠 ssh aaaa 進行鏈接,這裏能夠寫IP也能夠寫域名
Host www.aaa.com

# 能夠是域名也能夠是IP
HostName  59.110.XX.XXX

# 登陸時的用戶名
User root
             
PreferredAuthentications publickey

# 本地文件
IdentityFile C:\Users\burning\.ssh\burning
重要的提示!!!
IdentityFile C:\Users\burning\.ssh\burning
用戶名的路徑上必定不能有 中文,若是有就沒法實現免密登陸.若是你的用戶名是中文,要麼須要修改爲英文,要麼就將祕鑰放置到別的文件路徑中

3、將公鑰拷貝到服務器

  1. 先密碼登陸一次服務器,在服務器目錄下執行下面的命令
> pwd 查看當前所在目錄
# /root
> cd .ssh
> ls
# authorized_keys 受權者文件,要把公鑰放到這裏來
> cat authorized_keys # 打印文本文件中的內容,如今是空

用戶/.ssh 目錄下使用cmd命令將公鑰進行拷貝,scp命令後面不能加中文spa

# 注意下面的root後面跟的IP或者是域名,必須和config中的Host一致
> scp burning.pub root@www.aaa.com:/root/.ssh
# 目錄下有了公鑰的文件,內容追加到authorized_keys中
> cat >> authorized_keys < burning.pub
> cat authorized_keys 
# 查看內容能夠看到公鑰已經存進去了

4、重啓ssh服務

拷貝完成以後,要重啓ssh服務rest

systemctl restart sshd

5、關閉再打開cmd進行登陸

這個時候打開cmd進行登陸ssh root@www.aaa.com,能夠看到不須要密碼,直接登陸成功code

相關文章
相關標籤/搜索