sshd服务及服务管理命令

控制服务


1.什么是服务

服务就是系统中的功能模块,例如网络服务负责系统的网络相关的设定

2.用什么控制服务

系统初始化进程可以对服务进行相应的控制

3.当前系统初始化进程是什么

     systemd   ---系统初始化进程
     pstree    ---显示系统中的进程树

4.进程控制命令

     systemctl                              ---服务控制命令

     1)systemctl   status   sshd      ---查看服务状态,inactive(不可用),active(可用)

 systemctl   status   sshd      ##查看服务状态,inactive(不可用),active(可用)
     2)systemctl   start    sshd      ---开启服务


     3)systemctl   stop     sshd      ---关闭服务


    4) systemctl   restart  sshd      ---重启服务


   5)  systemctl   reload   sshd      ---重新加载服务配置

重启服务与重新加载服务配置区别在于,pid的改变与否


  6)systemctl   enable   sshd      ---设定服务开机启动


  7)systemctl   disable  sshd      ---设定服务开机不启动


  8)systemctl   list-units         ---列出已经开启服务当前状态


  9) systemctl   list-unit-files    ---列出所有服务开机启动的状态:

 

5.sshd服务

1.sshd简介

sshd= secure shell
可以通过网络在主机中开机shell的服务

客户端软件<C-F9>
    sshd
 

环境设置:

1.先查看本地ip地址

 2.更改虚拟机ip地址

3.检查两个ip能否ping通

2.远程复制:

    scp file root@ip:dir        ---上传
    scp root@ip:file dir        ---下载

1)在虚拟机上新建文件file,在真机上用scp root@172.25.254.162:/root/Desktop/file .命令将虚拟机上的文件复制到真机上

3.直接连接

连接方式:
    ssh    username@ip    ---文本模式的链接
    ssh -X username@ip  ---可以在链接成功后开启图形

    注意:
        第一次链接陌生主机是要建立认证文件
        所以会询问是否建立,需要输入yes
        在次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes

1)直接sshd连接到虚拟机上,此时在真机shell中所作操作全都在虚拟机中实现,因为pwd所在路径时在虚拟机中。

.

2.sshd 的key认证

1)环境配置

1.再打开一个server虚拟机,设置ip地址为172.25.254.200,并且检查与Desktop能否ping通。

2.删除两台虚拟机的.ssh文件,Desktop为客户端,server为服务端 ,方便之后实验监测

 

2)sshd的key认证

1.生成认证钥匙


[root@server ~]# ssh-keygen                                                                 ---命令生成密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):                          ---指定保存加密字符的文件(使用默认)
Enter passphrase (empty for no passphrase):                                     ---设定密码(使用空密码)
Enter same passphrase again:                                                              ---再次输入密码确认
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:
9f:4c:aa:96:a4:94:80:6f:1c:20:20:ec:7c:ee:9e:42 root@localhost
The key's randomart image is:
 

2.加密服务


[root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.200         --- 加密sshd
The authenticity of host '172.25.254.200 (172.25.254.200)' 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
/usr/bin/ssh-copy-id: INF0: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INF0: 1 key(s)  remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.200's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh  'root@172.25.254.200'"
and check to make sure that only the key(s) you wanted were added.

[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
 
authorized_keys    此文件出现表示加密完成

 

3.分发钥匙


scp /root/.ssh/id_rsa root@172.25.254.162:/root/.ssh/ ---将钥匙文件id_rsa 发送给172.25.254.162主机

 

4.测试
在客户端中(172.25.254.162)
1)ssh root@172.25.254.200         ---连接时发现直接登陆不需要root登陆系统的密码认证

客户端拥有私钥,连接服务端时不需要进行密码验证

客户端删除私钥,连接服务端时需要进行输入服务端密码进行验证
 

 

3)sshd的安全设定


1.是否允许用户通过登陆系统的密码做sshd的认证

编辑/etc/ssh/sshd_config文件

将78行的yes改为no,表示拒绝sshd密码认证

重启该服务,使改动生效

没有私钥的客户端ssh连接服务端,遭到拒绝

服务端再次将私钥发送给客户端,客户端ssh连接服务端,连接成功

 

!!服务端如何让有钥匙的客户端无法用钥匙连接到客户端

删除服务端的锁文件

此时客户端不能通过sshd服务认证连接,服务端锁文件删除,客户端无法ssh连接服务端

2.是否允许root用户通过sshd服务的认证

将服务端设置为root用户无法连接

重启sshd服务

在客户端上用root用户进行连接,结果无法连接

客户端且换乘student用户,可以连接

 

3. 设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd

打开编辑sshd服务文件

Allowusers student westos 添加一行设置student为白名单用户的信息

除了白名单westos,其他用户都无法连接

4. 设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd

打开sshd服务文件sshd.config

输入Denyusers    westos   设置westos用户为黑名单用户

重启sshd服务

客户端连及服务端的westos用户,连接失败

客户端连接服务端root用户,连接成功

!!!!!!此处的黑名单与白名单用户都是针对的服务端的用户,因为服务端只能设定自己系统的登录权限,

无论是哪个客户端,在服务端看来都是一个身份,但是客户端需要一个身份登录到服务端,这就是在服务端时的用户名称。

 

5.添加sshd登陆登陆信息
vim /etc/motd          ---文件内容就是登陆后显示的信息

在服务器vim打开编辑/etc/motd文件,输入信息,保存退出后重启sshd服务

在客户端,ssh连接服务端,连接成功后会显示之前在文件中所输入的信息

可以借此告知连接到本主机的客户端,本机的信息。

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值