linux基礎篇(四):基於Redhat7系統的sshd服務
阿新 • • 發佈:2018-11-09
SSHD 服務簡介
ssh 協議:安全外殼協議。為 Secureshell 的縮寫。SSH 為建立在應用層和傳輸層基礎上的安全協議。
sshd 服務使用 SSH 協議可以用來進行遠端控制, 或在計算機之間傳送檔案。而實現此功能的傳統方式,如 telnet(終端模擬協議)都是極為不安全的,並且會使用明文傳送密碼。
OpenSSH 軟體包,提供了服務端後臺程式和客戶端工具,用來加密遠端控制元件和檔案傳輸過程中的資料,並由此來代替原來的類似服務。
sshd預設服務埠號:22
openssh
客戶端:server1(172.25.66.11)
服務端:server2(172.25.66.12)
當主機中開啟openssh服務,那麼就對外開放了遠端連線的介面
#openssh服務的服務端 (服務端開啟sshd服務)
sshd
#openssh服務的客戶端(客戶端使用ssh命令連線服務端)
ssh
客戶端連線服務端的方式
ssh 服務端使用者@服務端ip地址/主機名(需要做主機名解析)
給ssh服務新增新的認證方式 KEY認證
生成鎖和鑰匙(在服務端server2)
[[email protected] ~]# ssh-keygen ##生成金鑰的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #儲存加密字元的>檔案用預設
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #可以為空,如果想為空必>須大於4位
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. ##私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公鑰
The key fingerprint is:
00:4f:b0:72:40:9f:a6:fb:91:86:d2:69:bc:7c:75:5f [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o o.. |
| o * |
| . * o |
| = . |
| . S |
| o + .. . E |
|. B +. . . . |
| + +.. . |
| o.. |
+-----------------+
執行命令後 ls檢視/root/.ssh/目錄,目錄下會出現私鑰和公鑰
加密ssh使用者的認證
在服務端
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
sh-copy-id ##加密命令
-i ##指定金鑰
/root/.ssh/id_rsa.pub ##金鑰
root ##加密使用者
172.25.66.12 ##服務端(本機)主機IP
驗證
解密檔案傳輸到客戶端
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
在客戶端
ssh [email protected] #連線不需要密碼
在服務端
rm -fr /root/.ssh/authorized_keys ##當此檔案被刪除,客戶端解密檔案失效,客戶端將無法免密連線服務端
使用客戶端連線服務端將無法直接連線
在服務端
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys ##從新生成鎖檔案,解密檔案功能恢復
在次使用客戶端連線服務端即可免密連線
sshd的安全配置
配置檔案:/etc/ssh/sshd_config
78 PasswordAuthentication no|yes ##開啟或關閉ssh的預設認證方式
48 PermitRootLogin no|yes ##開啟或關閉root使用者的登陸許可權
79 AllowUsers westos ##使用者白名單,當前設定是隻允許westos登陸
80 DenyUsers linux ##使用者黑名單,當前設定是隻不允許linux登>陸