保障训练-20200729
19年建站课程
4.6/4.7 配置网络
4.8/4.9 远程登录
4.10 **认证登录Linux
4.11 重置密码
4.12 单用户模式
4.13 救援模式
一、配置网络
1.查看网卡信息
ip addr
ifconfig(该命令包于net-tools软件包中,centos7系统默认没有,等配置好网络后使用yum install -y net-tools安装即可)
2.查看路由信息
route -n (参数n表示使用纯数字来显示IP地址)
这里的172.16.166.2就是网关,一会儿会用到这个
3.通过DHCP服务获取IP
dhclient
说明:无法重复运行dhclient,在第二次运行前需要使用dhclient -r 来释放
4.直接修改网卡的配置文件
网卡配置文件:/ect/sysconfig/network-scripts/ifcfg-ens33(文件名有所不同)
5.重启网络服务
systemctl restart network.service
6.检测
ping www.baidu.com (看看是否能ping通)
二、远程登录
1.字符型远程客户端工具介绍
Windows
putty,开源免费,但是功能稍弱,下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
secureCRT:付费软件
Xshell(推荐):界面友好,功能丰富,我们可以使用免费版,下载地址:https://www.netsarang.com/zh/all-downloads/?code=622 (说明:License type选择“Home and school use”)
MacOS或Linux
MacOS属于UNIX-Like,直接通过‘终端’或‘iTerm’即可使用ssh客户端
Linux可直接用命令行访问
2.Windows远程访问方法
xshell举例
新建连接
填写基本链接信息:名称、协议、主机、端口等
填写认证信息
3.MacOS或Linux远程访问方法
命令:ssh -p ‘端口号’ ‘username’@‘ip_addr’
列如:ssh -p 5555 [email protected]
注意:若不加-p参数,默认访问服务端22端口,若不加[email protected],默认以当前使用的本地账户登录远程服务器
4.在线用户查看
命令1:w
第一行显示:当前系统时间、系统持续运行的时间、在线用户数、当前负载
第二行(后面的一样)显示:在线用户、所有终端、源IP、登录时刻等
命令2:who
相当于w的精简版
三、**认证登录Linux
远程登录其他主机时总是需要输入密码,用秘钥登录可免去输入密码过程
1.非对称加密原理
分享一个链接:https://www.zhihu.com/question/33645891 讲解很好
2.一句话概括秘钥远程登录的配置
client产生秘钥对,将client的公钥写入server的/root/.ssh/authorized_keys文件中即可
3.Windows操作步骤
Xshell举例
在工具菜单中,选择新建用户秘钥生成向导
一直下一步后,输入要生成的秘钥对的名称,以及对应的密码,并点击下一步
复制所提供的公钥内容
粘贴进server中/root/.ssh/authorized_keys文件中,并做好注释
修改原会话的属性
用户身份验证部分,选择public Key方法,并输入对应的用户,选择秘钥,填入之前设置的密码,此时再次连接会话已是秘钥登录
4.Linux操作步骤
Client创建秘钥对,(一直回车即可)
命令:ssh-****** -t rsa(不加-t rsa也可以,默认就是用rsa加密算法的)
最终在/root/.ssh下生产秘钥对,id_rsa为私钥,id_rsa.pub为公钥
将公钥内容传递到server的/root/.ssh/authorized_keys文件内(方法较多)
前提:在server的/root/目录下,有权限为700的.ssh目录;在.ssh目录中有权限600的authorized_keys文件
但如果使用以下第二种方式则会自动建立以上目录及文件
第一种:在Xshell中复制client的公钥内容,粘贴进server的authorized_keys文件中
第二种:使用ssh-copy-id命令
命令:ssh-copy-id -i‘Pub_key_file’ ‘user_name’@‘remote_server’
在Client上传输公钥至Server
此时在server的/root/.ssh/authorized_keys文件中已存在Client的公钥
Client已可以使用秘钥登录server
第三种:用scp传输公钥,并用cat…>> /root/.ssh/authorized_keys的方式将Client公钥追加到该文件尾部
四、重置密码
1.root用户,直接执行passwd回车,直接输入两次新密码即可
2.普通用户更改某个用户密码时,执行passwd username
3.普通用户登录后,改自己密码,直接执行passwd即可
五、单用户模式
1.Linux的6种runlevel
CentOS6
0:关机
1:单用户(无需认证)
2:多用户模式,命令行
3:多用户模式,命令行
4:多用户模式,命令行
5:多用户模式,图形
6:重启
CentOS7
可用ll /usr/lib/systemd/system/runlevel*target 查看
poweroff.target
rescue.target
multi-user.target
multi-user.target
multi-user.target
graphical.target
reboot.target
ps.其实对应关系一目了然,主要是centos7为了照顾从centos6刚来的老用户,centos6使用initd启动,该种方式为串行启动,速度较慢,centos7使用systemd启动,该方式为并行启动,速度较快
2.进入单用户模式修改root密码
重启
进入grub(grub是关系到Linux启动的程序,编辑grub可进入不同的环境,)
重启后,按上下箭头,选中Linux系统,并按‘e’进入grub编辑界面
修改grub内容
找到以‘Linux16’开头的行,找到该行中的ro(Read Only),改为rw(Read Write),并在rw后添加init=/sysroot/bin/sh
修改为:rw init=/sysroot/bin/sh
重新加载系统
按照提示,按Ctrl+x开始
切换至原系统的相关环境
进入后,发现并不是自己的Linux环境,各种命令都找不到。此时通过chroot /sysroot,切换至正常Linux环境
修改语言环境变量
由于原先系统中的环境变量LANG=zh_CN.UTF-8,改密时显示上会有问题,因此通过LANG=en修改当前环境语言为英文
改密
使用passwd root,输入两次密码,并提示‘success’即可
应对SELinux
为了避免SELinux的影响,使用touch /.autorelabel 在根目录下创建一个空文件,否则重启后无法登陆
重启
通过VMware Workstation,使用虚拟机强制重启
重启后用新密码登陆root
扩展
改密后不能用reboot、init 6等方式重启,因为该环境下init守护进程未启动
重启后不需要将grub改回正常,因为之前对于grub的配置仅为临时配置,每次开机grub都会载入固定的配置文件
六、救援模式
grub密码如果设定之后忘了,可以使用救援模式(需要光盘或者U盘,总之是一个装系统的盘)
1.插入centos镜像光盘
重启进入BIOS,在启动顺序中CD-ROM调至第一,并用F10保存退出
自动进入光盘引导,选择Trouble Shooting
选择Rescue a CentOS System
根据提示,依次输入1、回车,并通过chroot /mnt/sysimage切换至正常系统环境,此时运行passwd root即可,完成后重启,改回BIOS