虛擬機console基礎環境配置——sshd安全登錄

1. 概述

在上一篇博客中,主要介紹了經過VMware workstation爲虛擬機console安裝最小化系統。本篇博客將介紹如何安全登錄console。
登錄Linux主機的方式有不少種,可歸類爲本地登錄或者遠程登錄。
對於VMware workstation建立的虛擬機,本地登錄很簡單,這裏不作介紹。主要是介紹經過ssh協議進行遠程登錄。linux

有關ssh協議詳解參照博客《ssh協議詳解》shell

2. xshell遠程登錄

登錄Linux系統,有多種方式,好比本地,遠程登錄;也有多種協議選擇:好比telnet,ssh,vnc等;同時對於用戶來講,根據本身PC的OS類型,也有很方式,好比採用終端,或者終端模擬工具等。
xshell是Windows系統下,包含了多種協議的終端工具,能夠用來建立ssh鏈接,登錄遠程主機。安全

xshelle登錄遠程主機,參見博客《xshell登錄遠程Linux主機.md服務器

3. 配置sshd服務

遠程登錄主機,最重要的是保證主機安全。經過配置sshd服務,修改默認參數,可以從必定程度上保存主機安全。網絡

3.1 修改配置文件

編輯sshd服務端配置文件:vi /etc/ssh/sshd_config運維

有關sshd服務的詳細配置,參照博客《sshd服務配置詳解》ssh

修改內容以下:工具

Port 2222
ListenAddress 192.168.80.8
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
PasswordAuthencation yes
PermitEmptyPasswords no
UseDNS no

初步配置如上述內容。這樣的配置表示,console的sshd服務監聽在192.168.80.8:2222端口。這是安全登錄的第一步。更加詳細的配置之後配置。測試

3.2 重啓sshd服務

執行命令service sshd restart,重啓sshd服務便可。ui

至此,已經修改了ssh的登錄端口。但依然是採用密碼認證方式,密碼容易遺忘,且很容易被竊取。所以須要配置密鑰登錄方式。

運維工做中,ssh是遠程管理的基礎網絡協議。ssh密碼交互模式是遠程管理的最大障礙。所以配置免交互的方式之一就是配置ssh密鑰認證。

4. 配置密鑰登錄

4.1 生成密鑰對

生產公密鑰對的方式有兩種:

  1. 經過ssh客戶端工具生成,如xshell,而後上傳公鑰至服務器

    xshell密鑰對生成,參見博客《xshell生成密鑰對.md

  2. 經過ssh服務端生成,下載私鑰,導入到xshell中

    Linux生成密鑰對,參見博客《Linux主機生成密鑰對.md

兩種方式都可,採用第1種方式較爲安全,博客兩種都有涉及。

採用第一種方式時,須要將公鑰上傳至服務器,並寫入認證文件種;採用第二種方式,須要下載密鑰,並導入到xshell等終端工具中。

4.2 上傳(下載)公密鑰

本篇博客中,由於console是最小化安裝,而且暫未安裝vsftpd服務器實現FTP傳輸,也未安裝VMware Tools配置文件共享,所以可使用sftp進行公密鑰傳輸。

4.3 公鑰寫入console的/root/.ssh/authorized_keys

這裏須要注意三個問題:

  • /root/.ssh目錄若沒有,能夠手動建立,而且保證權限屬性爲700
  • /root/.ssh/authorized_keys文件沒有,能夠手動建立,而且保證文件權限屬性爲600
  • 寫入公鑰到認證文件時,注意不要覆蓋,而是追加

4.4 建立鏈接測試密鑰登錄

在測試登錄時,必定要確保防火牆和SElinux處於暫時關閉狀態,不然會有錯誤,具體參見博客《Error【0001】:主機密鑰登錄問題.md

4.5 配置sshd

本次配置,主要包括:禁止密碼登錄,禁止root使用密碼登錄
配置/etc/ssh/sshd_config的內容以下:

Port 2222
ListenAddress 192.168.80.8
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin without-password
RSAAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
UseDNS no
Subsystem   sftp    /usr/libexec/openssh/sftp-server
相關文章
相關標籤/搜索