sshd

openssh-server

1.openssh-server
功能:讓遠程主機可以通過網絡訪問sshd服務,開始一個安全shell
注意:
(1)爲了便於識別兩個虛擬機,現將兩臺虛擬機中行提示符裏面的主機名進行修改。desktop虛擬機主機名設置爲client,server虛擬機主機名設置爲server。如下圖所示:
這裏寫圖片描述
(2)在兩臺虛擬機上均執行刪除/root/.ssh/命令
(3)在兩臺虛擬機上均執行修改ip即nm-connection-editor命令
2.客戶端連接方式
ssh 遠程主機用戶@遠程主機ip

ssh root@172.25.0.11
The authenticity of host '172.25.0.11 (172.25.0.11)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes        ##連接陌生主機時需要建立認證關係
Warning: Permanently added '172.25.0.11' (ECDSA) to the list of known hosts.
root@172.25.0.11's password:           ##遠程用戶密碼
Last login: Mon Oct  3 03:13:47 2016   ##登陸成功

如下圖所示,172.25.66.11爲服務主機的ip,由於不是第一次連接,就不需要建立認證關係。
這裏寫圖片描述
客戶端連接到服務主機之後,我們可以在服務主機使用w -f查看,發現IP爲172.25.66.10的主機連接上了。如下圖所示:
這裏寫圖片描述
ssh 遠程主機用戶@遠程主機ip -X ##調用遠程主機圖形工具
這裏寫圖片描述
客戶主機通過ssh 遠程主機用戶@遠程主機ip -X打開服務主機的gedit,服務主機通過w -f可查看到客戶主機連接該機並執行gedit,如下圖所示。
這裏寫圖片描述
ssh 遠程主機用戶@遠程主機ip command ##直接在遠程主機運行某條命令
這裏寫圖片描述
3.sshkey加密
(1)生成公鑰私鑰

ssh-keygen                    ##生成公鑰私鑰工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建議用默認)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): [enter]    ##密鑰密碼,必須>4個字符
Enter same passphrase again:                [enter]    ##確認密碼
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:                     
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|o                |
|E.               |
|..               |
|.  . o           |
|.o. * . S        |
|oo.o o   .       |
|+ =. .  .        |
|o. oo.+..        |
|    ..o*.        |
+-----------------+

在服務主機生成公鑰私鑰,該操作的過程如圖所示:
這裏寫圖片描述

ls  /root/.ssh/
id_rsa  id_rsa.pub
id_rsa               ##私鑰,就是鑰匙
id_rsa.pub           ##公鑰,就是鎖

生成公鑰私鑰,查看/root/.ssh/下的文件內容就會發現有公鑰和私鑰的兩個文件(在操作前,我已經刪除掉該目錄下的所有文件及目錄),如下圖所示:
這裏寫圖片描述
(2)添加key認證方式

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.0.11
ssh-copy-id                ##添加key認證方式的工具
-i                         ##指定加密key文件
/root/.ssh/id_rsa.pub      ##加密key
root                       ##加密用戶爲root
172.25.0.11                ##被加密主機ip

生成公鑰私鑰後,需要添加key認證方式,也就是給服務主機上鎖。如下圖所示:
這裏寫圖片描述
認證成功,就會發現/root/.ssh/目錄下面會多兩個文件,如下圖所示:
這裏寫圖片描述
(3)分發鑰匙給client主機

scp /root/.ssh/id_rsa 
root@172.25.0.10:/root/.ssh/

然後得把鑰匙文件發送給客戶主機,如下圖所示:
這裏寫圖片描述
服務主機給客戶主機分發鑰匙後,在客戶主機上的/root/.ssh/目錄下就會多出兩個文件(在操作前,我已經刪除掉該目錄下的所有文件及目錄),如下圖所示:
這裏寫圖片描述
(4)測試

ssh root@172.25.0.11        ##通過id_rsa直接連接不需要輸入用戶密碼
Last login: Mon Oct  3 03:58:10 2016 from 172.25.0.250 

測試結果如下圖所示:
這裏寫圖片描述
4.提升openssh的安全級別
(1)openssh-server配置文件
/etc/ssh/sshd_config

78 PasswordAuthentication yes|no    ##是否開啓用戶密碼認證,yes爲支持no爲關閉

把yes改爲no,然後測試。進行該測試之前先把客戶主機上的鑰匙文件刪掉,這要客戶主機連接服務主機就需要輸入密碼,結果發現無法連接(做完測試記得把鑰匙文件再發送給客戶主機)。測試結果如下:
這裏寫圖片描述

48 PermitRootLogin yes|no           ##是否允許超級用戶登陸

把yes改爲no,如下圖:
這裏寫圖片描述
然後進行測試

49 AllowUsers student westos        ##用戶白名單,只有在名單中出現的用戶可以使用sshd建立shell

這裏寫圖片描述

50 DenyUsers westos                  ##用戶黑名單

這裏寫圖片描述
(2)控制ssh客戶端訪問
vim /etc/hosts.deny

sshd:ALL                           ##拒絕所有人鏈接sshd服務

vim /etc/hosts.allow

sshd:172.25.254.250                 ##允許250主機鏈接sshd
sshd:172.25.254.250172.25.254.180##允許250和180鏈接
sshd:ALL EXCEPT 172.25.254.200      ##只不允許200鏈接sshd

設置spawn,客戶主連接服務主機會顯示客戶主機的ip。
這裏寫圖片描述
(3)ssh登陸提示修改該

vim /etc/motd          ##顯示登陸後字符
hello world            ##在登陸後就會顯示這個字符

這裏寫圖片描述
注意:白名單與黑名單的設置必須與78及48行的設置內容一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章