1. 程式人生 > >linux菜鳥基礎學習 (四) openssh-server

linux菜鳥基礎學習 (四) openssh-server

eat users onf 遠程 use edi exc 4.2 mark

openssh-server

1.openssh-server

功能:讓遠程主機可以通過網絡訪問sshd服務,開始一個安全shell

2.客戶端連接方式

ssh 遠程主機用戶@遠程主機ip
[root@desktop0 ~]# ssh [email protected]
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.
[email protected]‘s password: ##遠程用戶密碼
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ##登陸成功
[root@server0 ~]#touch file
[root@server0 ~]#gedit file2 報錯
可以在server虛擬機桌面下touch file,發現可以建立。但是gedit file2時發現報錯。

ssh 遠程主機用戶@遠程主機ip -X ##調用遠程主機圖形工具
ssh 遠程主機用戶@遠程主機ip command ##直接在遠程主機運行某條命令

練習:

1.ssh [email protected] ##在desktop虛擬機(IP:172.25.77.11)上進入server虛擬機(IP:172.25.77.88)
[root@server0 ~]# ##登陸成功
[root@server0 ~]#touch file
[root@server0 ~]#gedit file2 報錯
可以在server虛擬機桌面下touch file,發現可以建立。但是gedit file2時發現報錯。

[root@server0 ~]#exit

技術分享圖片

2.ssh [email protected] -X ##就可以gedit了

技術分享圖片

3.ssh [email protected] date ##在desktop虛擬機(IP:172.25.77.11)上顯示server虛擬機(IP:172.25.77.88)的時間

4.ssh [email protected] rm -fr /root/Desktop/ * ##在desktop虛擬機(IP:172.25.77.11)上刪除server虛擬機(IP:172.25.77.88)/root/Desktop 裏的文件和目錄

技術分享圖片

3.sshkey加密

1.在server虛擬機生成鎖和鑰匙
[root@server0 ~]# 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
. |
+-----------------+
[root@server0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私鑰,就是鑰匙
id_rsa.pub ##公鑰,就是鎖

技術分享圖片

2.給server虛擬機上鎖
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
3.把鑰匙給desktop虛擬機的root用戶
[root@server0 ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

技術分享圖片

4.測試
另外一臺虛擬機的有鑰匙的root用戶,以root身份登陸上鎖虛擬機不需要密碼
[root@desktop0 ~]# ssh [email protected] ##通過id_rsa直接連接不需要輸入用戶密碼
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#
另一臺虛擬機的無鑰匙的student用戶,以root的身份登陸上鎖的虛擬機也是需要密碼的

技術分享圖片

4.提升openssh的安全級別

1.openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否開啟用戶密碼認證,yes為支持no為關閉
48 PermitRootLogin yes|no ##是否允許超級用戶登陸
49 AllowUsers student westos ##用戶白名單,只有在名單中出現的用戶可以使用sshd建立shell
50 DenyUsers westos ##用戶黑名單

練習:

在server虛擬機上 vim /etc/ssh/sshd_config
78 PasswordAuthentication no ##關閉用戶密碼認證
systemctl restart sshd.service ##重啟sshd服務
在Desktop虛擬機上以student身份(因為student身份是無鑰匙的)
su - student
ssh [email protected] 會顯示Permission denied,因為Desktop虛擬機上student身份無鑰匙,並且server虛擬機關閉了用戶密碼認證。

技術分享圖片
技術分享圖片
技術分享圖片
在server虛擬機上 vim /etc/ssh/sshd_config
48 PermitRootLogin no ##不允許超級用戶登陸
78 PasswordAuthentication yes ##開啟用戶密碼認證
systemctl restart sshd.service ##重啟sshd服務
在Desktop虛擬機上以student身份(因為student身份是無鑰匙的)
su - student
ssh [email protected] 會讓你輸root密碼
然後會顯示Permission denied,因為不允許server虛擬機的用戶以超戶的身份登陸Desktop虛擬機

技術分享圖片
技術分享圖片
如果既不允許超級用戶登陸又關閉用戶密碼認證,不會讓你輸入密碼,
直接顯示Permission denied,看不出效果。
78 PasswordAuthentication no ##關閉用戶密碼認證
48 PermitRootLogin no ##不允許超級用戶登陸

2.控制ssh客戶端訪問

vim /etc/hosts.deny
sshd:ALL ##拒絕所有人鏈接sshd服務

vim /etc/hosts.allow
sshd:172.25.254.250 ##允許250主機鏈接sshd

sshd:172.25.254.250, 172.25.254.180 ##允許250和180鏈接

sshd:ALL EXCEPT 172.25.254.200 ##只不允許200鏈接sshd

技術分享圖片

技術分享圖片

技術分享圖片

3.ssh登陸提示修改該
vim /etc/motd ##顯示登陸後字符

hello world ##在登陸後就會顯示這個字符

技術分享圖片

技術分享圖片

小知識點

清空.ssh/目錄下的內容的兩種方法:
1.cd /root/.ssh
rm -fr
2.>/root/.ssh/

登陸對方主機的兩個方式:
1.密碼
2.免密登陸,需要有鑰匙。

linux菜鳥基礎學習 (四) openssh-server