本文是一篇关于Linux系统初学者的实验记录。
参考书籍:《Linux就该这么学》
实验环境:
VmwareWorkStation 17——虚拟机软件
RedHatEnterpriseLinux[RHEL]8——红帽操作系统
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。
之前,一般使用FTP或Telnet进行远程登录。(明文传递)
使用SSH协议来远程管理Linux系统,需要配置部署sshd服务程序。
sshd是基于SSH协议开发的一款远程管理服务程序,方便快捷。提供两种安全验证方法:
基于密码的验证——用账户和密码来验证登录
基于密钥的验证——需要在本地生成密钥对,然后把密钥中的公钥上传至服务器,进行比较。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。
sshd服务配置文件中包含的参数及作用:
参数 | 作用 |
Port 22 | 默认的sshd服务端口 |
ListenAddress 0.0.0.0 | 设定sshd服务器监听的ip地址 |
Protocol 2 | SSH协议的版本号 |
HostKey /etc/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 | 是否允许空密码登录 |
使用两台虚拟机,一台当服务器,一台当客户机。ip地址:
主机地址 | 操作系统 | 作用 |
192.168.31.130 | CentOS 8 Linux | 客户机 |
192.168.31.128 | RHEL 8 Linux | 服务器 |
如果禁止以root管理员身份远程登录服务器,可以大大提供安全性。
下面进行相应配置:
让配置参数立即生效:
在生产环境中使用密码进行验证终归存在着被暴力破解或嗅探截获的风险。
如果正确配置了密钥验证方式,那么sshd服务程序将更加安全。
scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令
格式:scp[参数]本地文件 远程账户@远程IP地址:远程目录
如果想把一些文件通过网络从一台主机传输到其他主机,这两台主机又恰巧都是Linux系统
scp命令可以轻松完成:
参数 | 作用 |
-v | 显示详细的连接进度 |
-P | 指定远程主机的sshd端口号 |
-r | 用于传送文件夹 |
-6 | 使用IPv6协议 |
首先要以绝对路径的形式写清本地文件的存放位置
如果要传送整个文件夹内的所有数据,添加-r参数
下载远程服务器上的文件:
scp[参数]远程用户@远程IP地址:远程文件 本地目录
使用sshd服务时,当与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断。
Terminal Multiplexer(终端复用器,简称Tnux)是一款能够实现多窗口远程控制的开源服务程序。
为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。
用户还可以使用Tmux服务程序同时在多个远程会话中自由切换。
实现功能:
1.会话恢复:即使网络中断,也可以让会话随时恢复
2.多窗口:每个窗口都是独立运行的,终端窗口内显示过的信息也被分开隔离保存
3.会话共享:当多个用户同时登录到远程服务器时,便可使用会话共享功能让输入信息共享。
直接敲击tmux命令进入会话窗口中
按exit命令退出
ls 查询后台隐藏的会话
在日常生产环境中,不是必须现创建会话,然后再开始工作。
可以直接使用tmux命令执行要运行的指令,这样命令中的一切操作都会被记录。
当命令执行结束后,后台会话也自动结束。
Tmux服务有个多窗格功能,能够把一个终端界面按照上下或左右进行切割。