配置RSA密鑰使用ssh協議登錄遠程服務器

背景:
連接工具Xshell 6
目標服務器系統centOS7.3
本地系統windows

關於SSH服務器搭建

一、配置遠程連接

1、ssh配置

//打開ssh配置文件
vi /etc/ssh/ssh_config
按需配置,也可關閉root用戶登錄,將權限所屬用戶改爲普通用戶進行登錄
#關閉密碼登錄
PasswordAuthentication no
#允許root認證登錄
PermitRootLogin yes
#允許RSA數字簽名
RSAAuthentication yes
#允許公鑰登錄
PubkeyAuthentication yes
#默認公鑰存放的位置
AuthorizedKeysFile  .ssh/authorized_keys

2、權限配置

cd ~
//更改.ssh文件所有者爲root(一般就是root)
l. -ls
chown root:root ~/.ssh

//.ssh目錄權限一般爲755或者700。僅root用戶能進行寫操作
chmod 700 ~/.ssh

//更改所屬,配置自己可讀可執行,其他用戶僅可讀
chown root:root ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

3、windows本地生成公鑰

在這裏插入圖片描述
在這裏插入圖片描述
名字隨意,可以再給密鑰加密,是對本地密鑰的保護。
在這裏插入圖片描述

複製公鑰,然後點擊完成即可。

在這裏插入圖片描述

4、複製進要連接主機的authorized_keys中。

cd ~/.ssh
vi authorizedd_keys
5、連接

在這裏插入圖片描述

密鑰選擇剛纔生成的那個,密碼是剛纔生成公鑰時設的密碼,不是root密碼注意

在這裏插入圖片描述

就搞定啦

在這裏插入圖片描述

那如果沒有呢?可能是你開啓了防火牆,而防火牆又沒有開放22端口。

在3.4.2https://blog.csdn.net/xiedongze__/article/details/90714356

二、原理

關於authorized_keys、id_rsa、id_rsa.pub和kown_hosts,瞭解這些文件的作用和功能後,就會明白上面這麼操作的原因。

什麼是公鑰和私鑰?

一般生成密鑰是成對生成的,一個是公鑰一個是私鑰,私鑰的作用是對公鑰進行解密(嚴格保管),公鑰則是對信息進行加密,當使用和私鑰配對的公鑰(加密方式)進行加密時,再用私鑰對得到的信息進行解密。結果很明顯,加密前和解密後答案一致,完成交互,即遠程連接。

如何使用?

只需要將公鑰放入要連接的系統B中即可,連接時會自動與本地的對於目錄下的私鑰進行匹配。

id_rsa和id_rsa.pub?

id_rsa和id_rsa.pub是相對的本機A生成的密鑰對,前者是私鑰後者是公鑰。

如何使用?

當連接遠程服務器B時,把id_rsa.pub放到遠程服務器B的authorized_keys中即可。
有個最常見的例子就是:本地或者多人合作git上一個項目,就需要生產密鑰,將id_rsa.pub放進github官網的ssh配置項。

authorized_keys?

存放其他機器的公鑰,其他機器使用私鑰進行訪問,進行認證連接。

know_hosts?

ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會覈對公鑰。如果公鑰不同,OpenSSH會發出警告, 避免你受到DNS Hijack之類的攻擊。
簡單來說就是同一臺機器多個系統多個公鑰訪問同一個服務器,服務器的OpenSSH會發出警告。

什麼是SSH2?

簡單說,SSH是一種網絡協議,用於計算機之間的加密登錄。

X shell6軟件?

Xshell是一個軟件,是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議等。

協議選擇

在這裏插入圖片描述

選擇的協議對應配置

在這裏插入圖片描述

協議版本選擇

在這裏插入圖片描述

什麼是SSH以及常見的ssh的功能
RSA算法原理(2)http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章