天天看點

Linux中的sshd服務和sshkey加密

一.openssh-server

openssh-server

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

用戶端連接配接方式

ssh    遠端主機使用者@遠端主機ip

[root@desktop0 ~]# ssh [email protected]

The authenticity of host '172.25.254.128 ' 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.254.128' (ECDSA) to the list of known hosts.

[email protected]'s password:                 遠端使用者密碼

Last login: Mon Oct  3 03:13:00 2016

[root@server ~]#                    登陸成功

Linux中的sshd服務和sshkey加密

ssh 遠端主機使用者@遠端主機ip -X                調用遠端主機圖形工具

ssh     遠端主機使用者@遠端主機ip        command        直接在遠端主機運作某條指令

二.sshkey加密

1.生成公鑰私鑰

[root@server ~]# 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@server ~]# ls /root/.ssh/

id_rsa  id_rsa.pub

id_rsa               私鑰,就是鑰匙

id_rsa.pub       公鑰,就是鎖

Linux中的sshd服務和sshkey加密

2.添加key認證方式

[root@server ~]# 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.0.11         被加密主機ip

Linux中的sshd服務和sshkey加密

3.分發鑰匙給client主機

[root@server0 ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

Linux中的sshd服務和sshkey加密

4.測試

[root@clint ~]# ssh [email protected]        通過id_rsa直接連接配接不需要輸入使用者密碼

Last login: Mon Oct  3 03:58:10 2016 from 172.25.254.28

[root@server ~]# 

Linux中的sshd服務和sshkey加密

三.提升openssh的安全級别

1.openssh-server配置檔案

/etc/ssh/sshd_config,安全配置在此配置檔案完成

78 PasswordAuthentication yes|no         是否開啟使用者密碼認證,yes為支援no為關閉

Linux中的sshd服務和sshkey加密
Linux中的sshd服務和sshkey加密

48 PermitRootLogin yes|no                      是否允許超級使用者登陸

Linux中的sshd服務和sshkey加密
Linux中的sshd服務和sshkey加密

49 AllowUsers student tom               使用者白名單,隻有在名單中出現的使用者可以使用sshd建立shell

50 DenyUsers tom                             使用者黑名單

Linux中的sshd服務和sshkey加密
Linux中的sshd服務和sshkey加密

2.控制ssh用戶端通路

vim /etc/hosts.deny

sshd:ALL            拒絕所有人連結sshd服務

Linux中的sshd服務和sshkey加密

vim /etc/hosts.allow

sshd:172.25.254.250     允許250主機連結sshd

Linux中的sshd服務和sshkey加密

sshd:ALL EXCEPT 172.25.254.250         隻不允許250連結sshd

Linux中的sshd服務和sshkey加密

3.ssh登陸提示修改該

vim /etc/motd         顯示登陸後字元,主要用于伺服器标示

Linux中的sshd服務和sshkey加密

四.使用sshpass工具進行非互動式的ssh登陸,設定後也可以使用scp

vim /etc/ssh/ssh_config 裡添加

StrictHostKeyChecking no

vim /etc/ssh/sshd_config 裡添加

GSSAPIAuthentication no

UseDNS no

systemctl restart sshd 重新開機服務

安裝

yum install -y sshpass 

使用:

sshpass -p 'redhat' ssh [email protected] 即可

繼續閱讀