Linux伺服器初始化設定使用者和ssh公私鑰登陸

2021-09-11 16:57:13 字數 2501 閱讀 5768

當我們開始使用乙個新的伺服器的時候,首先一定要對伺服器的登陸等做一些修改工作,筆者曾經就因為對伺服器登陸安全沒有重視,導致伺服器資料全部丟失。接下來我們按照步驟,羅列出應該做的一些事情。

修改ssh埠號

第一件事情:

vi /etc/ssh/sshd_config之後在port欄位加上乙個埠比如說50000,原來的埠號字段可能是被注釋掉的,要先解除注釋。

然後執行:

service sshd restart
這個時候可能還要重新配置一下防火牆,開放50000埠,具體如何配置也可以參考這裡的後半部分。但是目前,阿里雲的伺服器實測是不需要再配置防火牆的,但是需要去登陸到網頁後台修改安全組。

之後就可以通過這樣的方式登入了:(注意登入方式一定要寫對)

ssh [email protected] -p 50000
建立使用者

這個時候我們還是用root進行操作,所以我們接下來要給自己建立乙個賬戶,比如建立乙個如下的使用者:

useradd xiaotao

passwd xiaotao

可以用`ls -al /home/``檢視一下賬戶

chmod u+w sudoers
然後進入這個檔案在這裡進行更改:

root    all=(all)       all

xiaotao all=(all) all

然後再改回許可權:

chmod u-w sudoers
注意一點,centos 7預設容許任何帳號透過ssh登入(也就是說自己根本不用改改,直接新建帳號登入即可),包括根和一般帳號,為了不受根帳號被黑客暴力入侵,我們必須禁止 root帳號的ssh功能,事實上root也沒有必要ssh登入伺服器,因為只要使用su或sudo(當然需要輸入root的密碼)普通帳號便可以擁有root的許可權。使用vim(或任何文字編輯器)開啟的/ etc/ ssh/ sshd_config中,尋找:

#permitrootlogin yes
修改:

permitrootlogin no
配置公私鑰加密登入

這一步驟要切換到自己新建的使用者,不能再用 root 使用者了,否則可能無法正常登陸。

很多時候以上所說的還是不夠安全,為了更加安全方便,我們採用公私鑰對稱加密登入,簡單的講做法就是再客戶端生成一把私鑰一把公鑰,私鑰是在客戶端的,公鑰上傳到服務端,對稱加密進行登入。

在客戶端先進到這個目錄:

cd ~/.ssh
生成公鑰和私鑰(實際上如果之前有的話就不用重新生成了)

ssh-keygen -t rsa
接下來把公鑰上傳到服務端

scp ~/.ssh/id_rsa.pub xiaotao@:~
在服務端執行以下命令(如果沒有相關的檔案和資料夾要先進行建立,注意不要使用 sudo )

cat  id_rsa.pub >> ~/.ssh/authorized_keys
配置伺服器的/etc/ssh/sshd_config,下面是一些建議的配置:

vim /etc/ssh/sshd_config

# 禁用root賬戶登入,非必要,但為了安全性,請配置

permitrootlogin no

# 是否讓 sshd 去檢查使用者家目錄或相關檔案的許可權資料,

# 這是為了擔心使用者將某些重要檔案的許可權設錯,可能會導致一些問題所致。

# 例如使用者的 ~.ssh/ 許可權設錯時,某些特殊情況下會不許使用者登入

strictmodes no

# 是否允許使用者自行使用成對的金鑰系統進行登入行為,僅針對 version 2。

# 至於自製的公鑰資料就放置於使用者家目錄下的 .ssh/authorized_keys 內

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile %h/.ssh/authorized_keys

#有了證書登入了,就禁用密碼登入吧,安全要緊

passwordauthentication no

然後不要忘記 sudo service sshd restart

一般來講,這樣就算是成功了,我們可以在客戶端嘗試:

ssh -i ~/.ssh/id_rsa remote_username@remote_ip
服務端

chown -r 0700 ~/.ssh

chown -r 0644 ~/.ssh/authorized_keys

客戶端改一下

chmod 600 id_rsa

Linux伺服器初始化

選擇的作業系統是centos 7 x64,與ubuntu的區別詳見 一 ssh登入會報錯 當本機之前成功連線過伺服器時,若重灌伺服器後,用ssh登入報錯 warning remote host identification has changed!這是由於本機的known hosts是記錄遠端主機公...

ECS Ubuntu 伺服器安全初始化設定

修改root密碼 passwd 修改當前使用者密碼新增管理使用者 非root 並賦予許可權 新增zac使用者 adduser zac 賦值root使用者許可權 退出儲存的過程可能提示檔案readonly,這時我們如果是root使用者可以 wq!進行強制儲存退出。修改ssh預設配置 備份配置檔案 cp...

雲伺服器初始化

使用雲伺服器也有一段時間了,每次使用都要進行一些相同的操作,每次還要查閱相應的部落格和教程,覺得做這些重複工作覺得十分麻煩,還是記錄一下。如果以後學習了shell程式設計,就可以把這些操作儲存成乙個initial.sh,每次新開雲伺服器的時候執行一下就可以了。yum update yum upgra...