雜記【1】win10 密鑰模式SSH登錄CentOS7

近來發覺自己租的雲服務器頻繁受到ssh惡意登錄攻擊,短短几天四萬多次,於是,爲了安全起見,決定禁用密碼登錄,改用基於密鑰的登錄方式,順帶記錄一下過程。

注意:如果禁用了密碼登錄,使用密鑰方式登錄雲端的服務器,那麼不要啓動SELinux,除非你瞭解SELinux對SSHD的限制並且做了相應的配置,否則就再也登不進去了,親身體驗,非常刺激。

本人使用的windows下SSH客戶端爲HyperTerminal,非常好用,強烈推薦,這玩意兒也支持串口通信和telnet。

過程記錄如下

1. 在windows上,使用HyperTerminal生成一對密鑰

生成密鑰時,可以不設置密碼,設置與否全看個人需求。我認爲我對安全性的需求一般,也就懶得設置密碼了。

單擊Next即可。 如果沒有設置密碼,軟件會彈出詢問,問用戶是否確定不要密碼,此時選擇是即可。

默認情況下生成基於RSA算法的密鑰,密鑰長度爲2048

接下來會進入密鑰生成過程,這個過程中,軟件會提示用戶通過移動鼠標的方式來隨機生成密鑰,下圖是生成密鑰完畢的提示

繼續單擊Next,彈出如下界面

由於我的服務器使用的正是openssh,一般CentOS和ubuntu server都是,所以,只需要保存OpenSSH格式的公鑰和私鑰即可

2. 服務器端設置 CentOS7

打開 /etc/ssh/sshd_config,可以找到如下配置

當客戶端使用密鑰登錄服務器時,服務器端需要知道客戶端的公鑰,而客戶端的公鑰就應保存在上圖配置指定的文件中,即root/.ssh/authorized_keys,假如沒有.ssh文件夾,那麼請自行創建,然後,將前面生成的windows客戶端下的公鑰,上傳到服務器端的root/.ssh文件夾內,並重命名爲authorized_keys。

然後,要開啓公鑰驗證,將PubkeyAuthentication設置爲yes

接下來,禁用密碼登錄,將 PasswordAuthentication 設置爲 no即可。

最後,重啓sshd服務,讓新的配置生效  ( service sshd restart )

3. 在windows的SSH客戶端,使用密鑰登錄服務器

首先,選擇新建連接

然後,選擇連接類型爲SSH,按下確定

填寫服務器IP,並在Key File一欄,選取第一步中windows客戶端生成密鑰對中的私鑰

最後,點擊確定,即可以密鑰登錄的方式遠程登錄到Linux服務器了

登錄成功截圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章