Linux(RadHat)基础学习—系统服务控制及sshd服务

1.系统服务

1.什么是服务

系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。

2.控制服务

1.systemd
    系统初始化程序,系统开始的第一个进程,pid为1
2.pstree
    显示系统中的进程树
3.systemctl 命令(服务控制命令)
    systemctl status sshd            查看指定服务状态
    systemctl start sshd              开启指定服务
    systemctl stop sshd               关闭指定服务
    systemctl restart sshd          从新启动服务
    systemctl reload sshd           使指定服务从新加载配置
    systemctl mask sshd          冻结指定服务
    systemctl unmask sshd       启用服务
    systemctl enable sshd           设定指定服务开机开启
    systemctl disable sshd         设定指定服务开机时不启动
    systemctl list-units                              列出当前系统所有开启的服务的状态
    systemctl list-unit-files                       列出所有服务的开机状态
    systemctl list-dependencies sshd    查看指定服务的倚赖关系
    systemctl set-default multi-user.target   设定系统启动时为多用户级别(不开启图形模式)
    systemctl set-default graphical.target     设定系统启动时级别为图形模式
    setterm命令                   文本界面相关颜色设定

3.服务状态

systemctl status 服务名称

loaded                      系统服务已经初始化完成,加载过配置
active(running) 正有一个或多个程序正在系统中执行,
                                     vsftpd 就是这种模式
atcive(exited)      仅执行一次就正常結束的服务,
                                     目前并没有任何程序在系統中执行
atcive(waiting)     正在执行当中,不过还再等待其他的事件才能继续处理
masked      服务冻结
inactive        服务关闭
enbaled     服务开机启动
disabled       服务开机不自启
static          服务开机启动项不可被管理
failed          系统配置错误

举一个栗子:查看火墙状态
Linux(RadHat)基础学习—系统服务控制及sshd服务

2.sshd服务

为了方便实验,将两台虚拟机改名分别为desktop和server

查看当前主机名:hostname
更改主机名字:hostnamectl set-hostname 主机名
ps:在更改后立即生效,但需要另外打开一个shell或重新打开一个shell才能看到名字更改

1.sshd简介

sshd = secure shell
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
 sssh ------------------> sshd
client端                    server端

2.客户端连接方式

ssh 远程主机用户@远程主机ip                        文本模式(命令行)
ssh 远程主机用户@远程主机ip   -X                 可以开启图形界面
ssh 远程主机用户@远程主机ip   command   直接在远程主机运行某条命令
注意:第一次连接陌生主机时需要建立认证文件,所以会询问是否建立,输入yes确认
      再次连接此主机时,因为生成~/.ssh/know_hosts文件,故没有询问

Linux(RadHat)基础学习—系统服务控制及sshd服务

Are you sure you want to continue connecting (yes/no)? yes  ----------> 第一次连接陌生主机时需要建立认证关系
Warning: Permanently added '172.25.254.77' (ECDSA) to the list of known hosts.
[email protected]'s password:  -----------> 远程用户密码
Last login: Mon Oct  3 03:13:47 2016
[root@server0 ~]#           ----------> 登陆成功

3.ssh的key加密

1.生成公钥私钥

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

Linux(RadHat)基础学习—系统服务控制及sshd服务
查看生成的文件:
Linux(RadHat)基础学习—系统服务控制及sshd服务
其中:

id_rsa          ##私钥,就是钥匙
id_rsa.pub  ##公钥,就是锁

2.添加key认证方式(加密服务)

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
Linux(RadHat)基础学习—系统服务控制及sshd服务
解释:

ssh-copy-id     ##添加key认证方式的工具
-i          ##指定加密key文件
/root/.ssh/id_rsa.pub   ##加密key
authorized_keys     ##出现这个文件表示加米完成
root            ##加密用户为root
172.25.254.77       ##被加密主机ip

3.分发钥匙给client主机(这里即时desktop虚拟机)

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
此时在desktop虚拟机的/root/.ssh/目录下就有一个私钥了
Linux(RadHat)基础学习—系统服务控制及sshd服务

4.测试

 ssh [email protected]     ##客户机(即desktop)连接服务机(server)通过id_rsa直接连接不需要输入用户密码

Linux(RadHat)基础学习—系统服务控制及sshd服务

4.提升ssh的安全级别

1.配置文件:/etc/ssh/sshd_config

78 PasswordAuthentication yes|no        ##是否开启用户密码进行sshd认证,yes为支持no为关闭
48 PermitRootLogin yes|no                   ##是否允许root用户通过输入密码进行sshd认证
49 AllowUsers student westos              ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell。白名单出现,不再其中的用户不被允许sshd认证登陆
50 DenyUsers westos                         ##用户黑名单
重启服务:systemctl restart sshd.service

2.ssh登陆提示修改

vim /etc/motd       ##文件内容就是登陆后显示内容
hello world       ##在登陆后就会显示这个字符

4.用户登陆审记

1.

w          ##查看使用系统的当前用户有那些
w -f        ##查看使用地点
w -i        ##显示ip
              相关文件:/var/run/utmp

Linux(RadHat)基础学习—系统服务控制及sshd服务
2.

last         ##查看用户登陆成功历史
                相关文件:/var/log/wtmp

Linux(RadHat)基础学习—系统服务控制及sshd服务
3.

lastb       ##查看用户登陆未成功历史
                相关文件:/var/log/btmp

Linux(RadHat)基础学习—系统服务控制及sshd服务

猜你喜欢

转载自blog.51cto.com/13885935/2151306