Linux----控制服务和sshd服务

一、控制服务

1.什么是服务

服务开启对本机无意义,对客户有意义

2.用什么控制服务

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

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

pstree   显示系统中的进程树

systemd              系统初始化进程

systemctl             服务控制命令

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

systemctl start sshd            开启服务

systemctl enable sshd        设定服务开机启动      一般下载完服务,开启后,设定开机自启

systemctl stop sshd            关闭服务

systemctl restart sshd         重启服务

systemctl reload sshd         重新加载服务配置

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

systemctl list-units               列出已经开启服务当前状态 sshd有,httpd没有

systemctl list-unit-files         列出所有服务开机启动的状态 disable,enable,static(依赖性程序,在别的程序开启时会自动开启)

systemctl list-dependencies  列出服务的依赖

systemctl list-dependencies sshd                    找一个服务查看开机启动状态

systemctl set-default multi-user.target            设定系统启动级别为多用户模式(无图形)

systemctl set-default graphical.target            设定系统启动级别为图形模式

二、sshd服务

关于openssh

SSH的全称是Secure Shell,简单说来ssh是一种安全的外壳协议,用于两个计算机间安全的远程登陆,说它安全,是因为ssh采用公钥加密的机制。

当主机中开启openssh服务,那么就对外开放了远程连接的接口

ssh为openssh服务的客户端

sshd为openssh服务的服务端

远程管理工具ssh具有数据加密传输、网络开销小以及应用平台范围广的特点,是远程管理中最常见的控制工具。

 

从客户端ssh来看,加密共有两种级别:

第一种级别基于用户名和口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别基于密匙的安全验证)需要依靠密匙,即你必须为自己创建一对密匙,并把公用密匙即锁放在需要访问的服务器上。

如果你要连接到SSH服务器上,客户端软件A就会向服务器B发出请求,请求用你的密匙进行安全验证。

       过程如下B收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

 

1、客户端连接

(1)、连接方式:

ssh     username@ip      文本模式的链接
ssh  -X  username@ip      可以在链接成功后开机图形
比如:不加-X时,连接其他主机成功后使用gedit会报错
加-X则可以成功使用gedit命令

IP:为172.25.254.123连接172.25.254.223
注意:

第一次链接陌生主机是要建立认证文件所以会询问是否建立,需要输入yes。

连接后,exit退出。

ifconfig 可以查看自己连接在哪台主机上,以宝万一。

再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes

(2)远程复制:

上传
格式: scp  file  root@ip:dir

下载    
格式: scp  root@ip:file  dir  

IP为172.25.254.123的主机

IP为172.25.254.223的主机

2、sshd的key认证

该认证出现的原因:ssh在客户端与服务端连接过程中,输入密码,如果其他任一客户端获取ip和密码,会并且知道它里面的重要文件存放路径,那么就可以拷贝服务端的文件,从而不安全,所以才有免密访问。

实验前提:服务端和客户端要在同一个网段。

步骤如下:  

(1)、秘钥生成

在服务端生成公钥私钥: ssh-keygen         ##生成密钥的命令

id_rsa是钥匙 id_rsa.pub是锁。

第一次回车是钥匙和密码存放路径(可以直接回车,存放在默认路径下 /root/.ssh/)
第二次回车是密码,这个密码是访问自路径时的密码(可以直接回车,不设置密码)
第三次回车也是密码(可以直接回车,不设置密码)

(2)、公钥生成(即锁的生成)

 在服务端输入:ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.123(服务端自己的ip), 先给自己上锁,也就是给服务端上锁.

此时,加密完成。

(3)、分发秘钥

在服务端输入:scp /root/.ssh/id_rsa root@172.25.254.223(客户端的ip):/root/.ssh/ 将钥匙传给客户端,客户端/root/.ssh/的这个文件(目录)必须存在 ,相当于上传此时需要输入客户端的密码.

钥匙上传成功!


(4)、测试:

   在客户主机里,执行命令:   ssh root@172.25.254.123

此时不用密码认证即可登录。登陆成功,可见,此时的IP为172.25.254.123

3、sshd的安全设定

进行安全设定的原因:进行安全设定是因为服务端的root权限太大,客户端如果使用服务端的root权限极不安全
为了保证ssh服务器的安全性:服务端开放的权限不能太多,一般不太让客户端主机 用服务端主机的超级用户root

     步骤如下:

(1)、在服务端 vim /etc/ssh/sshd_config ,修改文件(把PasswordAuthentication yes|no 设置为no),修改完成后,重启服务。systemctl restart sshd。

此时进行ssh连接,deny。


该文件内容以及含义:

78 PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证(
        最初始的那种远程连接输入密码的方式)是否可以使别人在登陆时没有钥匙时试密码登陆。
48 PermitRootLogin yes|no       ##是否允许root用户通过sshd服务的认证,禁止超级用户登 
                                    陆 ,限制超级用户使用root身份来登陆ssh,默认为yes。
52 Allowusers student westos    ##设定用户白名单,白名单出现默认不在名单中的
                                    用户不能使用sshd
53 Denyusers    westos          ##设定用户黑名单,黑名单出现默认不在名单中的用户可
                                    以使用sshd

(2)、添加sshd登陆登陆信息,文件内容就是登录后显示的信息。
         添加方法:
        在服务端的 /etc/motd 文件里面设置服务端自己的一些信息
vim /etc/motd 文件内容就是登陆后显示的信息
在服务端vim /etc/motd编辑该文件,添加信息(不需要重启服务,写了就会生效)

4、用户的登录审计

服务端里面查看使用服务端的客户端的相关信息:

  (1)、        w                        查看正在使用当前系统的用户
               w -f                            查看使用来源
               w -i                               显示IP

    /var/run/utmp    
该文件里面存放的是w查出来的信息,但是这个文件不能用cat查看,可以用放file查看

2)、last                       查看使用过并退出的用户信息
  /var/log/wtmp,该文件里面存放的是last查出来的信息,但是这个文件不能用cat查看,可以用放file查看

(3)、lastb 试图登陆但没成功的用户

/var/log/btmp,该文件里面存放的是lastb查出来的信息,但是这个文件不能用cat查看,可以用放file查看

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值