进程和openssh-server

本文详细介绍Linux系统下的进程管理技巧,包括进程查看命令ps的各种参数及其应用,进程的前后台调用,以及如何利用top命令监控系统负载。此外,还深入讲解了OpenSSH服务的配置方法,包括客户端连接方式、提升安全级别、控制客户端访问等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程

1.进程定义:进程就是程序运行的过程,就是cpu未完成的工作,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

2.linux中进程查看的命令

1ps     参数

        a            ##关于当前环境的所有进程

        x | -A        ##所有进程

        f            ##显示进程从属关系

        e           ##显示进程调用环境工具的详细信息

        l           ##长列表显示进程详细信息

        u          ##显示进程的用户信息

       -a          ##显示shell前台运行命令的进程,但不包括shell本身

这些参数的信息可在man ps ps --help中查看

实验说明;

 ps a  查看当前环境所有进程信息

 

ps x | -A 查看所有进程,略有不相同,x显示没有控制终端的进程同时显示各个命令的具体路径

 

ps f ps eps lps ups -a

 

2ps ax -o %cpu%memusergroupcommnicepidstat

  %cpu      ##cpu使用率

  %mem    ##内存使用率

  user      ##进程发起用户

  grop      ##进程组

  comm     ##进程名称

  nice       ##进程优先级

  pid        ##进程id

  stat       ##进程状态

 

实验(截取部分):

 

 

3stat中显示的信息说明

S        ##进程状态

l         ##内存中该进程存在锁定空间

N        ##优先级低

<        ##优先级高

+        ##shell)前台运行

s        ##顶级进程

实验:后台运行gieditps a查看进程,gedit显示进程状态l,内存中默认为gedit留存部分空间,做一编辑存储使用;ps a  +前台运行进程

 

 

4ps ax -o %cpu%memcomm --sort=+%cpu-%mem

   +    ##正序

   -     ##倒序

   %cpu  ##cpu负载排序

   %mem  ##内存负载排序

实验:

 

 

3.进程的优先级

1)进程的优先级范围

   -2019

2)优先级的查看

ps ax -o pidnicecomm

 

3)指定某个优先级开启进程

  nice   -n  优先级数字   进程名称

 Egnice -n -5 vim &   ##开启vim指定程序优先级为-5

 

 

**nice -n -5 vim &执行了两次

4)改变进程优先级

renice  -n 优先级数字  进程名称

renice  -n -5     5           ##改变名称为5的进程的优先级为-5

 


 

4.环境中进程的前后台调用

jobs           ##查看被打入环境后台的进程

[Ctrl+z]        ##把占用终端的进程打入后台

fg   jobsnum   ##把后台的进程调回前台

bg  jobsnum   ##把后台暂停的进程运行起来

comm  &      ##让命令直接在后台运行

实验:

当前环境,geditvim(两个)被打入后台

 

vim调回前台运行

 

 

 

 

 

让后台gedit运行起来,原先无法编辑的gedit可以进行编辑了

 

5.进程信号

1)常用信号等级

    1                   ##进程重新家在配置

    2                    ##删除进程在内存中的数据

               

   3                 ##删除鼠标在内存中的数据

   9                   ##强行结束单个进程(不能被阻塞)

  15                 ##正常关闭进程(可能阻塞,无法关闭)

  18                  ##运行暂停的进程

 19                  ##强行暂停某个进程(不能被阻塞,一定会暂停)

  20                  ##把进程打入后台(可能被阻塞)

 man 7 signal         ##查看信号详细信息

kill    -信号   进程pid   ##进行相应的操作

killall  -信号   进程名字  ##批量操作统一进程

pkill    -u  uesrname   -信号   ##对用户进行相应的信号操作

实验:kill -9 3409 结束gedit程序

 


关闭两个vim进程

 

关闭student用户打开的所有进程

 

6.top命令

top           ##监控系统负载工具

 S           ## 修改进程刷新间隔时间

m          ##根据内存占有率进行排序

C          ##根据 cpu占有率进行排序

u          ##后面输入用户名 ,用来查看该用户发起的所有进程

k         ##后面跟要作用的进程 pid,和发起的信号 (eg:9,15,20)用来给某个进程发起一信号

实验:top进入top监控见面

 

 

s键后输入时间,修改刷新时间间隔

 

Cmcpu,内存占有率进行排序,从高到底,h显示top帮助说明界面,q退出top监控界面

 

 

 

  

openssh-server

让远程主机可以通过网络访问sshd服务,开始一个新的shell

1.客户端连接方式

1ssh远程主机用户@远程主机id

 

[root@localhost Desktop]# ssh student@172.25.254.21

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

student@172.25.254.211's password: ##远程用户密码

Last login: Sun Jan  3 21:13:47 2018

[student@localhost ~]# ##登陆成功

 

 

实验:左边desktop要远程连接右边server主机,ifconfig查看各自的ip地址

Desktop   shell中执行命令:ssh student@172.25.254.21


 

**输入student用户密码,连接成功(因为之前已经练习过多次了,所以实验中没建立认证关系环节)

 

 

 

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

重新登陆远程主机图形界面,提示缺少/home/student/.Xauthority文件

 

3)远程主机用户@远程主机ip command ##直接在远程主机运行某条命令

ssh  student@172.25.254.21 touch /tmp/file0

 

 

 

3)客户机desktop每次远程登陆服务机server时总是需要输入密码,为此服务机server用户可以进行设置

ssh-keygen进行加密

*.生成公钥私钥

[root@server0 ~]# 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 ##公钥,就是锁

 

*.添加key认证方式

[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.0.11

 

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

-i ##指定加密key文件

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

root ##加密用户为root

172.25.0.11 ##被加密主机ip

 

*.分发钥匙给client主机

[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/

 

*.测试

 

[root@desktop0 ~]# ssh root@172.25.0.11 ##通过id_rsa直接连接不需要输入用户密码

Last login: Mon Oct  3 03:58:10 2016 from 172.25.0.250

[root@server0 ~]#

实验:

第一步制作钥匙

 

第二步添加认证方式

 

第三布把钥匙给客户端root用户

 

 

第四步客户机root远程连接登陆测试

连接成功

 

 

(4)提升openssh的安全级别####

*.openssh-server配置文件

 

/etc/ssh/sshd_config

 

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

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

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

DenyUsers westos ##用户黑名单

 

实验说明:

执行命令 vim /etc/ssh/sshd_config

 

在第45认证(authentication)下边编写内容,主要#是说明内容,去掉#字符将78PasswordAuthentication yes|no后边的yes改成no,则不需要密码认证远程登陆,48PermitRootLogin yes|no 允许root用户登录改成no,则root用户无法登录, 编写AllowUsers student westos  用户使用ssh远程登陆白名单,表示studentwestos可以使用ssh进行远程登陆新开shell,编写DenyUsers westos 用户使用黑名单,表示westos用户不能使用ssh进行远程登陆

 

 

 

 

5)控制ssh客户端访问

vim /etc/hosts.deny

sshd:ALL ##拒绝所有人链接sshd服务

 

vim /etc/hosts.allow

sshd:172.25.254.250 ##允许250主机链接sshd

 

sshd:172.25.254.250172.25.254.180 ##允许250180链接

 

sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd

实验说明:

 

执行命令:vim /etc/hosts.deny,进入后在后边编写sshd:客户机1ip2ip

sshd:172.25.254.250                                  ##禁止250主机链接sshd

sshd:172.25.254.250172.25.254.180                  ##禁止250180链接

sshd:ALL EXCEPT 172.25.254.200                  ##只允许200链接sshd

 

 

 

5ssh登陆提示修改该

vim /etc/motd ##显示登陆后字符

 

hello world ##在登陆后就会显示这个字符

 

实验:vim /etc/motd 进入编辑三行内容“hello world  欢迎使用ssh命令 登陆成功wq退出保存,客户机连接测试

 



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值