###############################################################################

####################################第五天###################################

 

进程         所谓进程就是系统中正在执行的程序

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

进程的状态:

运行正在占用cpu及系统资源的程序

休眠后台执行,如最小化,会释放系统资源

停止

继续

僵尸进程进程结束却没有释放资源的进程

结束

 

查看进程的命令

ps       查看进程

ps -a    查看shell中的进程。-a只有shell前端的进程

       而a还包括shell后台的进程

ps -x    查看不再shell中运行的进程。

ps ax     查看所有进程

ps -u    查看进程的用户

ps -l      查看进程的详细信息

ps -f     查看进程的完整信息

ps -e    查看进程中所有进程

注释:   ps后面的参数加不加  - 的区别在于,加-是查看系统的前端的进程,不加-代表所有的进程。


 

查看进程的某项信息

ps ax -o %cpu,%mem,user,pid,comm

让进程的某项信息按指定顺序(小到大,或者大到小)排列

ps aux --sort +(-)%cpu

只指定某项信息,并按照顺序排列

ps ax -o %cpu,%mem,user --sort +(-)%cpu

(显示所有进程的cpu,mem,user信息并将cpu按照一定顺序排列)

( 内存 )

###################################shell中前后台进程的调用##############################3

 

shell中的进程

命令+&    使进程在后台运行

ctrl+z    把占用shell的进程打入后台停止

eg:    比如命令行输入degit,出现文本编辑,然后切到shell按ctrl+z 则文本编辑被打入后台,

并不能被编辑

jobs     查看打入后台的进程

fg job号   把指定的后台进程调回前台并可以运行

bg job号   使后台停止的进程运行

ctrl+c    关闭占用shell的进程

 

#######################################################################################

 

shell中 用信号来控制进程,给进程输入一个信号来停止,开始关闭进程。

常用的信号 1     reload进程,即在不关闭进程的条件下,重新读取进程配置信息

      2     等于ctrl+c ,删除进程在内存中的信息

       3    清除鼠标在进程中的信息

      9      强制关闭进程    

     15    正常关闭进程

       18    开启停止的进程

       19    停止正在运行的进程 

       20    等于ctrl+z 将进程打入后台停止


信号的输入发起

kill -信号pid(进程号)

killall   -信号    进程名字    关闭进程名字这一类所有进程

pkill    -u    username     关闭这个用户所有进程

 

比如 kill -9 进程号 强制关闭进程

    killall -9 vim强制关闭vim的所有进程


 

###############################用户登录的监控信息################################

首先 如何查看自己本机的ip地址 命令行输入 ifconfig eth0查看

(可以在真机中连接虚拟机)如何远程控制别人的主机命令行输入 ssh root@要连接主机的ip地址

 

命令行输入w查看正在使用当前系统的用户

命令行输入w -f查看正在使用当前系统的用户并查看使用地点

last     查看登录过系统的用户

lastb      查看访问系统未成功的用户

 

#####################################################################################

top 命令 是linux系统下常用的性能分析工具,能够实时的显示系统中每个进程的资源占用状况,类似于windows

系统中的任务管理器。

top是一个动态显示的过程,可以通过设置或者系统案件不断刷新当前状态。

 

命令行输入top 进入进程状态

进入后 d ,更改多少秒刷新一次

u查看用户拥有的进程

q退出

 

 

#########################################################################################

#############################################################################

 

ssh 安全外壳协议  openssh是一个提供远程访问的软件。

ssh 命令可以连接别的主机。  ssh root@要连接的主机ip地址要连接需要对方主机设置sshd为开启状态。

 

如何设置sshd 的状态呢?  

  

查看状态,在命令行中输入    systemctl status sshd

要开启该状态。         systemctl start sshd

要关闭该转状态         systemctl stop sshd

status 中查看的时候第二行最后一个 disable是设置虚拟机开启的时候不支持连接,如果是enbale则开启是

连接是打开的。

 

###############################################################################################

 

其他命令:systemctl list-dependencies     查看服务依赖关系

systemctl list-dependencies sshd       列出sshd要运行前需要先运行的所有进程

systemctl list-units             查看当前运行的所有服务

systemctl list-unit-files           列出所有可用进程(查看开机的启动情况)

systemctl set-default multi-user.target    不以图形化界面打开主机

systemctl set-default graphical.target    以图形化界面开启主机

重起主机, reboot

 

#####################################################################################################

######################################################################################################

 

 

如何远程连接主机ssh 远程主机用户@远程主机ip地址

ssh root@172.25.18.11

 

在服务器端的命令行输入 vim /etc/motd   里面可以设置其他主机登录显示字符。

ssh root@172.25.18.11 -X          X 是可以访问图形界面

在客户端输入 killall -9 bash        关闭所有bash 也会关闭客户端的访问

 

 

The authenticity of host '172.25.18.11 (172.25.18.11)' can't be established.

ECDSA key fingerprint is 55:dd:43:ce:bf:94:dd:91:49:e7:97:29:63:3d:02:02.

Are you sure you want to continue connecting (yes/no)? yes建立安全传输key

root@172.25.18.11's password:密码输入没有回显

Last failed login: Sun Oct 11 16:56:29 CST 2015 from 172.25.18.10 on ssh:notty

There was 1 failed login attempt since the last successful login.

Last login: Sun Oct 11 16:55:46 2015 from 172.25.18.10

 

################################生成锁和钥匙########################################

 

远程连接本来就是一个不安全的事,所以为了使它安全, 我们可以给ssh这个服务上锁

 

首先 要生成一个锁和一个钥匙 ssh-keygen

/****Enter file in which to save the key (/home/test/.ssh/id_rsa):『enter』 指定加密字符保存文件,使用默认

Created directory '/home/test/.ssh'.

Enter passphrase (empty for no passphrase): 密码,必须大于4位

Enter same passphrase again:

Your identification has been saved in /home/test/.ssh/id_rsa.

Your public key has been saved in /home/test/.ssh/id_rsa.pub.

The key fingerprint is:确认密码

a5:4f:02:51:68:59:f4:e8:e3:c5:91:1f:6f:86:99:06 test@foundation0.ilt.example.com

The key's randomart p_w_picpath is:

+--[ RSA 2048]----+

|      .*+        |

|      +. o .     |

|     .. . E .    |

|       o + + *   |

|        S + * +  |

|       . * . o   |

|        . .      |

|                 |

|                 |

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

[test@foundation0 .ssh]$ pwd

/root/.ssh/生成密钥存放位置

[test@foundation0 .ssh]$ ls

id_rsa  id_rsa.pubid_rsa位私钥,id_rsa.pub位公钥

***/

 

有了锁和钥匙,开始给自己房子(服务器)上锁

ssh-copy-id -i id_rsa.pub root@172.25.18.11

然后输入服务器的密码

在给客户端权限, 也就是钥匙, 客户端可以不用密码就可以登录服务器

scp id_rsa root@172.25.18.10

然后输入客户端的密码

这样就完成了锁和钥匙的设置


命令解释ssh-copy-id上传key的工具

 -i指定使用的公钥

    id_rsa.pub公钥的名称

    root目标用户

    172.25.18.11指定用户的ip

 

设置好了,但是这是你想要的吗?NONONO, 因为现在其他主机即可以通过ssh连接你的主机

也可以通过密码访问你的主机。这就很尴尬了,所以我们必须设置一些文件来破坏密码登录

 

sshd的服务配置文件 /etc/ssh/sshd_config   通过vim进去

在文件的78行PasswordAuthentication yes|no 来设置其他主机是否可以用密码登录

 

在文件的48行#PermitRootLogin yes|no是否允许root用户通过sshd的认证。

(有#表示被注释,如果有必要,可以去除#然后在设置yes或者no)

 

设置完成以后 命令行输入   systemctl restart sshd

 

重新开启sshd后, 其他主机则没有访问权限了 “Permission denied (publickey,gssapi-keyex,gssapi-with-mic).“