配置sshd服务
SSH协议提供2中安全验证方式
基于密码的验证—用账户和密码来验证登录;
基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中
sshd服务配置文件中包含的参数以及作用
参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号
HostKey /tc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes 设定是否允许root管理员直接登录
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登录(很不安全)
修改后需要重启服务生效
systemctl restart sshd
systemctl enable sshd
Windows可用 Xshell、PuTTY、SecureCRT、SSH Secure Shell Client等工具远程
安全密钥验证
在客户端主机中生成“密钥对”
ssh-keygen
把客户端主机中生成的公钥文件传送至远程服务器
ssh-copy-id 192.168.0.10
对服务器进行设置,使其只允许密钥验证,拒绝传统的密码验证方式。记得在修改配置文件后保存并重启sshd服务程序
vim /etc/ssh/sshd_config
73 PasswordAuthentication no
客户端尝试登录到服务器,此时无须输入密码也可成功登录,如果用户没有密钥信息,即便有密码也会被拒绝
远程传输命令
scp命令
基于SSH协议在网络之间进行安全传输,格式为 scp [参数]本地文件的绝对路径 远程账户@远程IP地址:远程目录的绝对路径
scp命令中可用的参数及作用
参数 作用
-v 显示详细的连接进度
-P 指定远程主机的sshd端口号
-r 用于传送文件夹
-6 使用IPv6协议
例子
touch readme.txt
scp /root/readme.txt root@192.168.0.10:/root/readme.txt
scp命令还可以从远程主机下载文件
格式为 scp [参数]远程用户@远程IP地址:远程文件的绝对路径 本地目录的绝对路径
例子
scp root@192.168.0.10:/etc/fstab /root
不间断会话服务
Terminal Multiplexer(终端复用器,简称为Tmux)是一款能够实现多窗口远程控制的开源服务程序。简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用Tmux服务程序同时在多个远程会话中自由切换
会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。
多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。
会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。
首先安装Tmux
dnf install tmux
管理远程会话
tmux new -s backup 创建会话
exit 退出
tmux detach 将会话隐藏到后台
tmux ls 查看会话状态
tmux attach -t backup 打开会话
管理多窗格
tmux split-window 上下切割窗口
tmux split-window -h 左右切割窗口
Ctrl + B +方向键可用调整窗口边界位置
Tmux不间断会话多窗格切换命令
命令 作用
tmux select-pane -U 切换至上方的窗格
tmux select-pane -D 切换至下方的窗格
tmux select-pane -L 切换至左方的窗格
tmux select-pane -R 切换至右方的窗格
Tmux不间断会话多窗格互换命令
命令 作用
tmux swap-pane -U 将当前窗格与上方的窗格互换
tmux swap-pane -D 将当前窗格与下方的窗格互换
tmux swap-pane -L 将当前窗格与左方的窗格互换
tmux swap-pane -R 将当前窗格与右方的窗格互换
Tmux会话窗格相关的常用快捷键
Ctrl+B,然后松手后再迅速按下其他后续按键
快捷键 作用
% 划分左右两个窗格
" 划分上下两个窗格
<方向键> 切换到上下左右相邻的一个窗格
; 切换至上一个窗格
o 切换至下一个窗格
{ 将当前窗格与上一个窗格位置互换
} 将当前窗格与下一个窗格位置互换
x 关闭窗格
! 将当前窗格拆分成独立窗口
q 显示窗格编号
会话共享功能
两台客户端的所有终端信息都会被实时同步,它们可以一起共享同一个会话窗口
例子
tmux new -s share 第一台远程客户机
tmux attach-session -t share 第二台远程客户机
检索日志信息
常见的日志文件保存路径
文件路径及命令 作用
/var/log/boot.log 系统开机自检事件及引导过程等信息
/var/log/lastlog 用户登录成功时间、终端名称及IP地址等信息
/var/log/btmp 记录登录失败的时间、终端名称及IP地址等信息
/var/log/messages 系统及各个服务的运行和报错信息
/var/log/secure 系统安全相关的信息
/var/log/wtmp 系统启动与关机等相关信息
日志文件分为下面3种类型
系统日志:主要记录系统的运行情况和内核信息。
用户日志:主要记录用户的访问信息,包含用户名、终端名称、登入及退出时间、来源IP地址和执行过的操作等。
程序日志:稍微大一些的服务一般都会保存一份与其同名的日志文件,里面记录着服务运行过程中各种事件的信息;每个服务程序都有自己独立的日志文件,且格式相差较大。
journalctl命令
检索和管理系统日志信息,英文全称为“journal control”,语法格式为 journalctl参数
journalctl命令中常用按键以及作用
参数 作用
-k 内核日志
-b 启动日志
-u 指定服务
-n 指定条数
-p 指定类型
-f 实时刷新(追踪日志)
--since 指定时间
--disk-usage 占用空间
日志信息登记分类
日志等级 说明介绍
emerg 系统出现严重故障,内核崩溃等情况
alert 应立即修复的故障,数据库损坏等情况
crit 危险较高的故障,硬盘损坏导致程序运行失败的情况
err 一般危险的故障,某个服务启动或运行失败的情况
warning 警告信息,某个服务参数或功能错误的情况
notice 一般无危险的故障,只是需要处理的情况
info 通用性消息,给用户提示一些有用信息
debug 调试程序所产生的信息
none 没有优先级,不做日志记录
例子
journalctl -p crit
--since参数
按照时间范围搜寻
例子
journalctl --since today
journalctl --since "-1 hour"
journalctl --since "12:00" --until "14:00"
journalctl --since "2020-07-01" --until "2020-08-01"
查询指定服务的日志
例子
journalctl -u sshd