1. 程式人生 > >Linux系統-openssh-server

Linux系統-openssh-server

一.openssh-server

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

二.客戶端連線方式

ssh  遠端主機使用者@遠端主機ip
ssh [email protected]

可以在server虛擬機器桌面下touch file,發現可以建立。但是gedit file2時發現報錯。
在這裡插入圖片描述

ssh 遠端主機使用者@遠端主機ip -X		##呼叫遠端主機圖形工具
ssh [email protected]

在這裡插入圖片描述

ssh  遠端主機使用者@遠端主機ip  command	 ##直接在遠端主機執行某條命令
ssh [email protected]
date

在這裡插入圖片描述

三.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]		##確認密碼
ls /root/.ssh/
id_rsa  id_rsa.pub
id_rsa		##私鑰,就是鑰匙
id_rsa.pub	##公鑰,就是鎖

在這裡插入圖片描述
2.新增key認證方式

ssh-copy-id -i /root/.ssh/id_rsa.pub  [email protected]
ssh-copy-id		##新增key認證方式的工具
-i			##指定加密key檔案
/root/.ssh/id_rsa.pub	##加密key
root			##加密使用者為root
172.25.25.117		##被加密主機ip

在這裡插入圖片描述
3.分發鑰匙給client主機

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/	

在這裡插入圖片描述
4.測試

ssh [email protected]
##通過id_rsa直接連線不需要輸入使用者密碼

在這裡插入圖片描述

四.提升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虛擬機器
在這裡插入圖片描述
在server虛擬機器上 vim /etc/ssh/sshd_config

78 PasswordAuthentication no		##關閉使用者密碼認證
48 PermitRootLogin no                ##不允許超級使用者登陸

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
如果既不允許超級使用者登陸又關閉使用者密碼認證,不會讓你輸入密碼,直接顯示Permission denied,看不出效果。
在這裡插入圖片描述
2.控制ssh客戶端訪問

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

客戶端訪問時無法連結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 linux!		##在登陸後就會顯示這個字元

客戶端登陸時顯示hello linux!
在這裡插入圖片描述