|NO.Z.00006|——————————|^^ 構建 ^^|——|Linux&SshTcpRoot.V03|--------------------------------------------------|禁止root|
阿新 • • 發佈:2022-03-25
[LinuxNetworkEnd:Linux&SshTcpRoot.V03] [Applications.LinuxNetworkEnd] [|網路服務基礎|Linux網路基礎|ssh|TCPWrappers|限制root登入]
一、禁止root密碼登入
### --- 禁止root密碼登入 [root@server14 ~]# vim /etc/ssh/sshd_config PasswordAuthentication no // 預設是yes生效狀態,改為no關閉;禁止使用密碼登入 [root@server14 ~]# systemctl restart sshd // 重啟後驗證只能通過祕鑰對登入
### --- 禁止使用root遠端登入 [root@server14 ~]# useradd yanqi [root@server14 ~]# passwd yanqi [root@server14 ~]# vim /etc/ssh/sshd_config PermitRootLogin no // 這個配置檔案中註釋並不代表不生效,將選項開啟並改為no [root@server14 ~]# systemctl restart sshd // 伺服器拒絕root登入 [root@server15 ~]# ssh [email protected] // root登入失敗 [email protected]'s password: [root@server15 ~]# ssh [email protected] // 普通使用者可以正常登入 [email protected]'s password: [yanqi@server14 ~]$
### --- 修改預設埠,限制ssh監聽IP [root@server14 ~]# vim /etc/ssh/sshd_config Port 55555 // 埠建議改為萬位以上。並小於65535即可 [root@server14 ~]# systemctl restart sshd [root@server15 ~]# ssh [email protected] // 預設22埠拒絕 ssh: connect to host 10.10.10.14 port 22: Connection refused Xshell:\> ssh [email protected] 55555 // 可以正常登入55555埠 [root@server15 ~]# ssh -p 55555 [email protected] // 其它主機連線該裝置埠 [email protected]'s password: Last login: Tue Feb 2 03:13:15 2021 from 10.10.10.2 [root@server14 ~]# netstat -antp // 可以檢視到sshd服務監聽的埠是55555 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:55555 0.0.0.0:* LISTEN 1547/sshd [root@server15 ~]# nmap -sT 10.10.10.14 // nmap掃描埠,nmap預設只掃描低位埠,高位埠是掃描不到的。 Starting Nmap 6.40 ( http://nmap.org ) at 2021-02-02 02:40 CST Nmap scan report for 10.10.10.14 Host is up (0.0019s latency). Not shown: 999 closed ports PORT STATE SERVICE 55555/tcp open unknown MAC Address: 08:00:27:29:DF:AE (Cadmus Computer Systems) Nmap done: 1 IP address (1 host up) scanned in 0.61 seconds
### --- 限制ssh監聽IP地址
[root@server14 ~]# vim /etc/ssh/sshd_config
ListenAddress 10.10.10.21 // 預設是0.0.0.0表示所有,修改一個指定的地址
[root@server14 ~]# ifconfig enp0s3:0 10.10.10.21 // ifconfig可以設定一張網絡卡有多個IP地址
[root@server15 ~]# ssh [email protected] // 預設14地址是不可以登入的,因為14地址沒有被監聽
ssh: connect to host 10.10.10.14 port 22: Connection refused
[root@server15 ~]# ssh [email protected] // 而21地址是可以監聽到的。所以可以正常登入
[email protected]'s password:
Last login: Tue Feb 2 03:28:21 2021 from 10.10.10.15
### --- scp:安全的遠端檔案複製命令:
[root@server14 ~]# scp /root/yanqi.scp [email protected]:/root/ // 將14的yanqi.scp下推送到15/root/下
[root@server15 ~]# ls
yanqi.scp
[root@server14 ~]# scp [email protected]:/root/yanqi.scp /root/ // 將15的yanqi.scp下的檔案拉取到14/root/下
yanqi.scp 100% 0 0.0KB/s 00:00
[root@server14 ~]# ls
yanqi.scp
~~~ 若是對方伺服器的埠發生了變化可以通過-P(大寫)來傳輸
[root@server15 ~]# vim /etc/ssh/sshd_config
Port 55555
[root@server14 ~]# systemctl restart sshd
[root@server14 ~]# scp /root/yanqi.scp [email protected]:/root/ // 解析提示端口出現錯誤
ssh: connect to host 10.10.10.15 port 22: Connection refused
lost connection // 丟失了連線
[root@server14 ~]# scp -P 55555 /root/yanqi.scp [email protected]:/root/
yanqi.scp
### --- sftp:
~~~ 安全的傳輸協議,和scp的功能一模一樣,ssh下的scp用的是tcp協議,而sftp用的是ftp協議。
~~~ ftp是明文傳輸,sftp是加密傳輸。
[root@server14 ~]# sftp [email protected] // 登入到sftp中
Connected to 10.10.10.15.
sftp> help // 列出所有可用命令的幫助命令
sftp> pwd
Remote working directory: /root // 檢視當前所在路徑:也就是10.10.10.15下的root目錄下
sftp> lpwd
Local working directory: /root // 列印本機的工作路徑,沒登入之前宿主機的路徑:也就是10.10.10.14下的root目錄下
sftp> pwd // 檢視當前所在路徑,伺服器當前所在路徑,10.10.10.15
Remote working directory: /root
sftp> lpwd // 列印本機的所在路徑,宿主機的路徑:10.10.10.14
Local working directory: /root
sftp> cd /tmp/ // 當前所在路徑
sftp> lcd /tmp/ // 宿主機所在路徑
sftp> ls // 當前所在路徑
sftp> lls // 宿主機的路徑
sftp>put // 將客戶機彙總的指定檔案上傳到伺服器端
sftp>get // 將伺服器端的指定檔案下載到客戶機的當前所在目錄
sftp>rm // 刪除掉伺服器端的指定檔案
[root@server14 ~]# sftp -oPort=55555 [email protected] // 指定特定埠登入-OPort=55555
Connected to 10.10.10.15.
附錄一:
### --- 將公鑰匯入Linux主機的指定使用者下的指定公鑰配置檔案內
~~~ 後面用哪個使用者登入就放在誰家裡,這裡我們先用root使用者做實驗
~~~ 在root家目錄下,找到.ssh目錄,然後在裡面建立authorized_keys檔案,
~~~ 並且將公鑰寫入進入
### --- 使用windows嘗試登入指定使用者
### --- 禁止使用密碼登入
~~~ 當我們學會了使用祕鑰對進行驗證後,建議生產環境下將賬戶祕密登入功能關掉
~~~ 配置檔案:/etc/ssh/sshd_config
~~~ 選項:
PasswordAuthentication no
### --- 注意:
~~~ ssh的配置檔案中,並不是註釋掉的就是不生效的,有些是預設生效的,
~~~ 需要修改時一定要取消註釋再修改。
### --- 禁止使用root遠端登入
~~~ root 在系統中是一個可以為所欲為的角色,我們可以在平時的操作中用普通使用者操作,
~~~ 在有需要修改一些系統設定的時候再從普通使用者切換到root使用者,
~~~ 這樣可以最大限度的避免使用者誤操作對系統造成破壞,
~~~ 同時也可以避免黑客在暴力破解後直接使用root使用者登入系統,
~~~ 一般在遠端登入管理上我們會禁止直接使用root使用者登入
~~~ 配置檔案:/etc/ssh/sshd_confg
~~~ 選項:
PermitRootLogin no
### --- 修改預設埠,限制ssh監聽IP
~~~ 修改預設埠:ssh作為一個用來遠端管理伺服器的工具,需要特別的安全,
~~~ 預設情況下使用TCP的22埠,若不能進行修改,很容易被利用遭到攻擊,
~~~ 所以我們一般都會修改埠,儘量修改一個高位埠(範圍1——65535)
~~~ 配置檔案:/etc/ssh/sshd_config
~~~ 選項:
Port ⑤9527
ssh -p 埠 使用者名稱@伺服器IP
~~~ 限制ssh監聽IP:有些伺服器則安全級別更高一些,不允許使用外網直接登入,
~~~ 只有通過區域網才能登入,我們可以在機房裡設定其中一臺能夠被外網遠端連線,
~~~ 其他的主機都通過這個機器進行遠端連線即可
~~~ 配置檔案: /etc/ssh/sshd_config
~~~ 選項:ListenAddress 192.168.88.100
### --- ssh服務相關命令
~~~ scp:安全的遠端檔案複製命令:
~~~ scp是secure copy 的簡寫,用於在linux下進行遠端拷貝檔案的命令,
~~~ 類似於命令有cp,scp傳輸時加密的,所以可能會稍微影響一點速度,
~~~ 另外scp還非常不佔資源,不會提高多少系統負荷。
~~~ 格式: scp 本地檔案 使用者名稱@伺服器IP:目錄
scp /root/atguigu.txt [email protected]:/tmp
-p 埠 // 若埠不是預設埠,則需要使用此格式指定埠
~~~ sftp:安全的檔案傳輸協議
~~~ sftp是secure filetransferprotocol的縮寫,安全檔案傳輸協議,
~~~ sftp與ftp有著幾乎一樣的語法和功能,由於這種傳輸方式使用了加密/解密結束,
~~~ 所以sftp比ftp更安全一些,但傳輸效率比普通的FTP要低很多。
~~~ 格式:sftp 使用者名稱@伺服器IP
sftp
-oPort-埠 // 若埠不是預設22,則需要使用此格式指定埠
### --- 互動命令:
~~~ help:檢視在互動模式下支援哪些命令:
~~~ pwd/lpwd:pwd是檢視伺服器所在路徑,來陪我打是檢視客戶端所在路徑
~~~ ls/lls:ls是檢視伺服器當前目錄下檔案列表,
~~~ ls是檢視客戶機當前所在路徑的所有檔案列表
~~~ put:將客戶機彙總的指定檔案上傳到伺服器端
~~~ get:將伺服器端的指定檔案下載到客戶機的當前所在目錄
~~~ rm:刪除掉伺服器端的指定檔案
~~~ quit:退出sftp的互動命令,斷開和伺服器之間的連線。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)