一、openssh-server

1.功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

(1)先创建两个环境---开启两台虚拟机

(2)一台作为服务端,将其主机名用一下命令更改(以便区分)

hostnamectl set-hostname ssh-sever.example.com

另一台作为客户端,同样将其主机名进行修改

hostnamectl set-hostname client.example.com

(注:example.com是域名,不予显示)

 注:修改完成后,一定要关掉shell再重新开启shell修改才生效。

Linux远程访问ssh详细教程_ser

nm-connection-editor 配置ip

点击add

Linux远程访问ssh详细教程_ser_02

单击creat

Linux远程访问ssh详细教程_Linux_03

Linux远程访问ssh详细教程_opensshd_04

设置完成后点击save

Linux远程访问ssh详细教程_ser_05

ip配置完成

Linux远程访问ssh详细教程_Linux_06

设置完成

Linux远程访问ssh详细教程_opensshd_07

ip addr show 查看ip

Linux远程访问ssh详细教程_Linux_08

服务端同样

Linux远程访问ssh详细教程_ser_09

Linux远程访问ssh详细教程_opensshd_10

2.ssh远程主机用户@远程主机ip

ssh远程主机用户@远程主机ip

[root@client ~]ssh root@172.25.60.11

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

root@172.25.60.11's password:  远程用户密码

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

[root@ssh-server ~]登陆成功 

Linux远程访问ssh详细教程_Linux_11

ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具

ssh     远程主机用户@远程主机ipcommand 直接在远程主机运行某

Linux远程访问ssh详细教程_opensshd_12

Linux远程访问ssh详细教程_opensshd_13

产生的进程在服务端

Linux远程访问ssh详细教程_Linux_14

在服务端关闭进程客户端也会关闭

Linux远程访问ssh详细教程_opensshd_15

服务端进程关闭

Linux远程访问ssh详细教程_opensshd_16

在服务端建立文件

Linux远程访问ssh详细教程_opensshd_17

远程连接进行删除文件命令

Linux远程访问ssh详细教程_ser_18

删除图片成功

Linux远程访问ssh详细教程_opensshd_19

w -f 查看谁登陆过我

Linux远程访问ssh详细教程_Linux_20

Linux远程访问ssh详细教程_ser_21

3.登录提示字符

vim /etc/motd

Linux远程访问ssh详细教程_Linux_22

Linux远程访问ssh详细教程_ser_23

客户端登录显示该字符

Linux远程访问ssh详细教程_Linux_24

以上是第一种加密方式

二、sshkey加密

1.生成公钥私钥

[root@ssh-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 root@server0.example.com

The key's randomart image is:

+--[ RSA 2048]----+

|o              |

|E.             

|..             |

|.  . o          |

|.o. * . S         |

|oo.o o   .       |

|+ =. .  .        |

|o. oo.+..         |

|    ..o*.       |

+-----------------+

[root@server0 ~]# ls /root/.ssh/

id_rsa  id_rsa.pub

id_rsa 私钥,就是钥匙

id_rsa.pub 公钥,就是锁

ssh-keygen 生成公钥私钥工具

以下是第二种加密方式

Linux远程访问ssh详细教程_opensshd_25

ls 列出.ssh 可以看到已生成锁和钥匙

2.添加key认证方式

[root@ssh-server ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.60.11

ssh-copy-id 添加key认证方式的工具

-i 指定加密key文件

/root/.ssh/id_rsa.pub 加密key

root 加密用户为root

172.25.60.11被加密主机ip 

Linux远程访问ssh详细教程_opensshd_26

Linux远程访问ssh详细教程_opensshd_27

3.提升安全级别

更改配置文件 vim /etc/ssh/ssh_config

将78行 yes改为no,restart该文件,密钥加密生效

Linux远程访问ssh详细教程_Linux_28

Linux远程访问ssh详细教程_ser_29

权利被禁止

Linux远程访问ssh详细教程_Linux_30

4.分发钥匙给client主机

[root@ssh-server ~]# scp /root/.ssh/id_rsa root@172.25.60.10:/root/.ssh/

Linux远程访问ssh详细教程_Linux_31

分发钥匙成功

Linux远程访问ssh详细教程_opensshd_32

登录成功

5.提升安全级别

(1)更改配置文件 vim/etc/ssh/sshd_config

将78行 yes改为no 

Linux远程访问ssh详细教程_Linux_33

Linux远程访问ssh详细教程_ser_34

Linux远程访问ssh详细教程_Linux_35

Linux远程访问ssh详细教程_Linux_36

Linux远程访问ssh详细教程_opensshd_37

(2)提升安全级别

更改配置 vim /etc/ssh_config 

79 Allowusers ww root 允许ww root 用户登录

设置白名单

Linux远程访问ssh详细教程_opensshd_38

Linux远程访问ssh详细教程_opensshd_39

Linux远程访问ssh详细教程_ser_40

登录成功

Linux远程访问ssh详细教程_opensshd_41

(3)提升安全级别

# 注释掉白名单用户

80 Denyusers ww  拒绝ww用户登录

设置黑名单用户

Linux远程访问ssh详细教程_ser_42

Linux远程访问ssh详细教程_Linux_43

Linux远程访问ssh详细教程_opensshd_44

ww是黑名单用户,权利被禁止

Linux远程访问ssh详细教程_Linux_45

Linux远程访问ssh详细教程_opensshd_46

root 用户权利过大,要禁止它的权利

48 PermitRootLogin yes|no  是否允许超级用户登陆

更改如下配置文件

Linux远程访问ssh详细教程_Linux_47

Linux远程访问ssh详细教程_opensshd_48

Linux远程访问ssh详细教程_opensshd_49

root 用户被禁止,普通用户可登陆

Linux远程访问ssh详细教程_opensshd_50

6.控制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

Linux远程访问ssh详细教程_opensshd_51

Linux远程访问ssh详细教程_opensshd_52

Linux远程访问ssh详细教程_ser_53Linux远程访问ssh详细教程_opensshd_54

Linux远程访问ssh详细教程_ser_55

Linux远程访问ssh详细教程_ser_56