1. 程式人生 > 其它 >|NO.Z.00006|——————————|^^ 構建 ^^|——|Linux&SshTcpRoot.V03|--------------------------------------------------|禁止root|

|NO.Z.00006|——————————|^^ 構建 ^^|——|Linux&SshTcpRoot.V03|--------------------------------------------------|禁止root|



[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)