一.openssh-server
功能:讓遠程主機可以通過網絡訪問sshd服務,開始一個安全shell二.客戶端連接方式
ssh 遠程主機用戶@遠程主機ip[root@desktop0 ~]# ssh [email protected]
The authenticity of host '172.25.0.11 (172.25.0.11)' can't beestablished.
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:472016
[root@server0 ~]# ##登陸成功
如下例,現有server與desktop兩臺主機,現想用desktop主機遠程登陸server主機;
首先,查看server主機ip地址:
再用desktop主機登陸:
ssh 遠程主機用戶@遠程主機ip -X ##調用遠程主機圖形工具
ssh 遠程主機用戶@遠程主機ip command ##直接在遠程主機運行某條命令
(ctrl+d快速退出已登陸的主機)
三.sshkey加密
1.生成公鑰私鑰
2.添加key認證方式
[root@server0 ~]# 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.254.1 ##被加密主機ip
在密匙密鑰生成了之後,需要把鎖加入系統,讓系統知道
可以看到公鑰的內容:
與authorized_keys的最後一行內容一致,證明鎖添加成功!
3.分發鑰匙給client主機
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 ##用戶黑名單
(當一用戶同時在黑名單與白名單裏,則不可登陸)
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
例如,編輯/etc/hosts.deny,拒絕ip爲172.25.254.1的主機登陸:
測試結果如下:
3.ssh登陸提示修改該
vim /etc/motd ##顯示登陸後字符
例如,想在別的用戶每次登陸這臺主機時顯示welcome,編輯/etc/motd:
再用另一臺主機登陸,則會出現welcome: