Linux系統-openssh-server
阿新 • • 發佈:2018-12-13
一.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!