linux菜鳥基礎學習 (四) openssh-server
openssh-server
1.openssh-server
功能:讓遠端主機可以通過網路訪問sshd服務,開始一個安全shell
2.客戶端連線方式
ssh 遠端主機使用者@遠端主機ip
[[email protected] ~]# 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.
Last login: Mon Oct 3 03:13:47 2016
[[email protected] ~]# ##登陸成功
[[email protected] ~]#touch file
[[email protected] ~]#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)
[[email protected] ~]# ##登陸成功
[[email protected] ~]#touch file
[[email protected] ~]#gedit file2 報錯
可以在server虛擬機器桌面下touch file,發現可以建立。但是gedit file2時發現報錯。
[[email protected] ~]#exit
2.ssh [email protected]
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虛擬機器生成鎖和鑰匙
[[email protected] ~]# 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. |
+-----------------+
[[email protected] ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私鑰,就是鑰匙
id_rsa.pub ##公鑰,就是鎖
2.給server虛擬機器上鎖
[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
3.把鑰匙給desktop虛擬機器的root使用者
[[email protected] ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
4.測試
另外一臺虛擬機器的有鑰匙的root使用者,以root身份登陸上鎖虛擬機器不需要密碼
[[email protected] ~]# ssh [email protected] ##通過id_rsa直接連線不需要輸入使用者密碼
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[[email protected] ~]#
另一臺虛擬機器的無鑰匙的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.免密登陸,需要有鑰匙。