sshd服务

                                                                                                                                           sshd.service服务

1.open  sshd.service
systemctl   status   sshd.service                           查看服务器端的sshd-service状态
systemctl   start     sshd.service                            打开服务器端sshd.service服务

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

2.客户端连接方式

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

                  sshd服务  
                  sshd服务

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

                  sshd服务

如上图,当直接连接(不加-X)时,gedit不显示,当加上-X,调用远程主机的图形功能,gedit显示出来

ssh     远程主机用户@远程主机IP     command    直接在远程主机运行某条命令 

                 sshd服务

                 sshd服务

如上图,在server端的 /root/Desktop/ 下touch file{1..3} 在client端连接时,加上删除命令,则在远程主机(server端)上运行该命令。

w      -f                                                                    远程主机显示连接信息 

                  sshd服务

ps aux |grep pts/1                                                  显示pts/1具体信息      

                  sshd服务
3.ssh
登陆提示修改该

vim  /etc/motd                                                        显示登陆后字符    sshd服务

                  sshd服务

                 sshd服务

hello world             在登陆后就会显示这个字符
3.sshkey
加密
1.生成公钥私钥    

[[email protected] ~]# ssh-******                                         生成公钥私钥工具

                  sshd服务

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*.        |

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

显示该目录下的文件

                   sshd服务

注意:上图中id_rsa:私钥(就是钥匙)id_rsa.pub :公钥(就是锁)。
2.
添加key认证方式  

                  sshd服务

[[email protected] ~]# 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

注意:要确认被加密主机的密码。

Test:在ssh-server配置文件中更改用户密码认证状态,yes为支持no为关闭 

① vim  /etc/ssh/sshd_config

sshd服务

②在78行将状态改为no 

sshd服务

③保存退出(wq)

重启服务(systemctl restart sshd.service)否则无法生效

⑤server端主机无法连接 

sshd服务

证明:当用户密码认证状态改为no的时候,给远程主机(server端主机)加上锁后,client端主机不能连接。
3.
分发钥匙给client(客户端)主机   注意:先将用户密码认证状态改为yes

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

scp                                 以超级用户的身份复制

/root/.ssh/id_rsa             复制该文件(钥匙)

[email protected]            ip地址为127.1.1.10的主机(client端主机)以root身份

/root/.ssh/                   将复制的文件存在被指定主机的该地址           

Tips:更该主机名可用该命令  :hostnamectl  set-hostname  新主机名 ,最后再重新启动一个新的shell即可  

当分发给client端主机钥匙后,在其/root/.ssh/目录下可以找到id_rsa文件,这个时候,在用户认证状态为no的时候,也可以访问server端主机啦。
4.
提升openssh的安全级别  (以下对配置文件的更改,退出保存后都都要重启服务
(1).openssh-server
配置文件  vim  /etc/ssh/sshd_config

78 PasswordAuthentication yes|no       是否开启用户密码认证,yes为支持no为关闭  

sshd服务

client端连接结果:

sshd服务

如上图将该认证方式改为no的时候,则无法连接远程主机

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

sshd服务

client端连接结果:

sshd服务

49 AllowUsers student westos               用户白名单,只有在名单中出现的用户可以使用sshd建立shell   

sshd服务

client端连接结果:

sshd服务

如下图,当将PermitRootLogin yes|no改为no的时候,即便用户白名单中有root 仍然无法使用root身份连接远程主机

(server端)

sshd服务

client端连接结果:

sshd服务

50 DenyUsers westos                               用户黑名单  

sshd服务

client端连接结果:

                  sshd服务
Tips:在server端新建一个用户时 ,需要设定一个密码,则可以在client户端以该用户身份访问。
(2).
控制ssh客户端访问

限制主机访问服务器

①vim /etc/hosts.deny

sshd:ALL                                                     拒绝所有人连接sshd服务

sshd服务

client端连接结果:

sshd服务

②vim /etc/hosts.allow

sshd:172.25.38.10                                      允许该主机连接sshd
sshd:172.25.38.10  172.25.254.180       允许这两个IP链接

sshd:ALL EXCEPT 172.25.38.10               只不允许该IP主机链接sshd