今天学习了Linux的SSH协议部分和日志基础的知识。
1、SSH协议
所谓SSH协议,就是一种在计算机之间互相通信的协议,比如我们在项目中经常使用XManager之类的管理工具,就是使用SSH协议去远程连接Linux服务器的。要注意SSH是一个协议,不是一个具体的东西,只是一些规定。而一般在CentOS或其他Linux下,openSSH是SSH协议的一个实现,是一个具体的程序,要搞清这两者之间的关系。
在Linux中,我们可以使用SSH命令来远程连接其他的服务器。命令如下
<pre name="code" class="plain">ssh 用户名@IP地址
//比如:ssh zw@172.168.1.1 l
//zw是远程电脑的用户名,IP地址就是远程服务器的IP地址,之后按提示输入密码就可以操作啦
还有一种情况,就是我连接服务器的时候,只想执行一条命令,而上边的那种情况,登录进去之后敲命令,之后还要退出,很麻烦。所以,如果我们想执行一条命令就退出的话,可以使用如下的方式
ssh 用户名@IP地址 要执行的命令
这样的话,命令执行完毕后,会自动退出连接。在一定程度上很方便
2、SCP命令
SCP命令是在两个计算机之间进行加密传输的,底层也是用到的SSH协议。
scp 源文件 目标地址
//例如:scp /etc/test.txt zw@192.168.1.1:/etc/zw/
上边命令就是将本机的/etc/test.txt文件拷贝到192.168.1.1这台电脑上,冒号后边是远程电脑的路径,这里要用绝对路径。
其中有几个参数如下,
-r 递归拷贝,用于拷贝文件夹
-p 保留原文件的时间戳,权限等信息
-C 传输时进行压缩
3、Linux日志,rsyslog
在Linux下,系统正常运行时需要打印日志信息,以便在出现故障的时候进行排查,日志都保存在/var/log目录下。CentOS6以前,日志服务都叫做syslog,在6以后就叫做rsyslog,可以看做是syslog的加强版。
rsyslog的配置文件保存在/etc/rsyslog.conf下。
说明配置文件之前,要先说明两个概念,Facility和Priority。分别代表日志消息的来源和优先级
配置文件中,可以针对不同消息来源的不同级别,输出到不同的路径下查看。
来源.级别 记录日志的位置
来源.级别 -记录日志的位置
有以上两种写法,区别就是,有“-”的代表日志会先输出到缓存中,等系统空闲的时候在写入硬盘,断电之后就会丢失,但是效率较高。没有“-”的会将日志写入硬盘,写入好一条在写入下一条。效率相对较低
(1)下边给出Facility的划分:
-kern内核消息
-user用户级消息
-mail邮件系统消息
-daemon系统服务消息
-auth认证系统消息
-syslog日志系统自身消息
-lpr打印系统消息
-authprlv权限系统消息
-cron定时任务消息
-news新闻系统消息
-uucpuucp系统消息
-ftpftp服务消息
-local0~local7
(2)这是优先级的划分
-Emergency系统已经不可用
-Alert必须立即进行处理
-Criticl严重错误
-Error错误
-Warnig警告
-Notice正常信息、但是较为重要
-Informational正常信息
-Debug调试信息
我们可以根据以上分级来确定哪个日志输出到那个文件中。
(3)假如我们项目中有统一的日志服务器的话,我们可以将日志统一发送给日志服务器,配置格式如下
来源.级别 @IP地址(UDP协议)
来源.级别 @@IP地址(TCP协议)