20180531 Task 1.13-1.16

20180531 Task 1.13-1.16

5月31日任务

1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录

1.13 单用户模式

在工作和学习中忘记 ROOT 密码, 重装系统不现实, 这里有两种方法: 单用户模式和救援模式

单用户模式是在系统启动的那一刻要进行选择, 它和 WINDOWS 的安全模式有点像, 首先要重启系统, 重启系统的命令: reboot, init 6, shutdown -r now , 关闭系统的命令是 init 0 , poweroff, shutdown -h now , halt ; PS: 单用户模式下不能登录远程客户端

单用户模式是不需要用户认证的

  1. 在 VMware 界面下, 选择如下的操作

mark

  1. 进入 GRUB 界面, GRUB 是启动工具, 包括 WINDOWS, 也是可以通过 GRUB 帮你启动的; 简单来说, GRUB 就是帮你找到系统的启动盘, 划分分区时哪个分区是有引导程序的呢, GRUB 就帮你去管理, 引导硬盘加载内核,

mark

  1. 进入 编辑的地方, 更改 rorw init=/sysroot/bin/sh , /sysroot/ 是原系统的 /root/ 目录

mark

更改为

mark

  1. CTRL + x , 保存退出

  2. 进入如下的界面, 相当于安全模式,

mark

  1. 可以看到现在的 /root/ 和 /sysroot/ 下的目录不一致, 说明还没有进入到之前的系统目录下, 而且 /sysroot/boot/ 下是空的, 因为之前装系统时 /boot/ 是单独的一个分区, 必须把/boot/ 分区挂载到这个目录下, 那才能看到这个目录下的文件,

mark

之前设置的秘钥文件, 可以看出还没有切换过去

mark

  1. 更改密码, 就要切换到之前的系统环境中去, 这样才能用系统里边的命令, 现在这个相当于内存操作系统, :/# chroot /sysroot/ :/# passwd root (这时候出现了乱码, 原因是当前环境为中文, 需要切换到英文环境下) :/# LANG=en

如下就表示可以正常更改密码了

mark

  1. 创建 /.autorelabel , 如果不做这一步就没办法登录系统, 这个和 selinux 相关的操作, 不用深究 :/# touch /.autorelabel

PS: SELINUX , 链接 : https://selinuxproject.org/page/Main_Page

SELinux is a security enhancement to Linux which allows users and administrators more control over access control.

Access can be constrained on such variables as which users and applications can access which resources. These resources may take the form of files. Standard Linux access controls, such as file modes (-rwxr-xr-x) are modifiable by the user and the applications which the user runs. Conversely, SELinux access controls are determined by a policy loaded on the system which may not be changed by careless users or misbehaving applications.

SELinux also adds finer granularity to access controls. Instead of only being able to specify who can read, write or execute a file, for example, SELinux lets you specify who can unlink, append only, move a file and so on. SELinux allows you to specify access to many resources other than files as well, such as network resources and interprocess communication (IPC).

For more information about SELinux see the FAQ and other resources listed here

  1. 在 VMware 界面下右键虚拟机: 电源 --> 重新启动客户机 , 启动后在输入新密码, 验证是否更改成功

  2. 如果机房在很远的区域, 可以选择驻场服务区解决

  3. 如果远程的终端登不上, 可以借用 telnet 去登录

1.14 救援模式
  1. 在 windows 里边, 不能叫单用户模式, 在 CentOS6 或者更早的版本里, 有 0-6 (一共 7 个运行级别) , Centos 6 是 init, Centos7 是 systemd
0 关机 
1 单用户模式 , 在 CentOS 6 以及更早的版本里, 就是这样叫的; 在启动系统的那一刻, 配置一下 GRUB, 简单做一些操作, 就进入了单用户模式, 单用户是不需要用户认证的, 然后就可以更改密码了, 
2. 是多用户模式, 只不过是命令行下的多用户模式
3. 是多用户模式, 在系统启动的那一刹那, 没有安装图形界面的情况下, 进入的就是 3 级别
4. 是多用户模式
5. 图形操作界面, 比级别三多一个图形 
6. 重启 reboot 

**CentOS 7 操作如下, 在上一节, 单用户模式更改密码用的就是如下的 rescue.target 模式** 

[root@arron-01 ~]# ll /usr/lib/systemd/system/runlevel*target lrwxrwxrwx. 1 root root 15 5月 27 23:58 /usr/lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 5月 27 23:58 /usr/lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 5月 27 23:58 /usr/lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 5月 27 23:58 /usr/lib/systemd/system/runlevel6.target -> reboot.target

如果在 CentOS 6 里边, 是 cat /etc/inittab

* 由此得出, Cen 6 是 init 启动机制, 但是 Cen 7 是 Systemd 启动机制

2. 之前讲的单用户模式更改密码的前提是得清楚 GRUB 没有加密或者得有 GRUB 的密码, `因为装系统时 GRUB 没有设置密码, 但有时候 GRUB 是有密码的`, 这时候就有一种方法: 用光盘或者系统优盘重新进入到装系统的那个界面下, 就是把光驱加载一下, 就是加载光驱, ##在虚拟机下操作## 
 
  2.1 关机, init 0 , 编辑虚拟机,  

![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/180544618.png?imageslim) 

  2.2 一定要在虚拟机设置里边选择 ##启动时连接##, ##ISO 镜像文件##, 

  2.3 在虚拟机上右键, 电源 --> 启动时进入 BIOS --> 方向键进入 Boot --> 将 CD-ROOM Drive 调到第一位去 --> 方向键和 +- 号调整 CD-ROM Drive 到第一位去 --> F10 保存和退出 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203207042.png?imageslim) 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203207042.png?imageslim)

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203909602.png?imageslim)

  2.4 进入更改密码的初始页面

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/204232680.png?imageslim)
 
  2.5 选择 Rescue a CentOS system , 如果忘记 GRUB 密码, 就只能进入这个页面下 (选择救援模式) , ENTER 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/204457329.png?imageslim)

  2.6 选择 Continue 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205029768.png?imageslim) 

  2.7 ENTER 键

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205522236.png?imageslim) 

  2.8 切换到之前的环境下 `chroot /mnt/sysimage` 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205819518.png?imageslim)

  2.9 更改密码: passwd root 

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210143259.png?imageslim) 

  2.10 重启系统

  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210434021.png?imageslim)
 
  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210537406.png?imageslim) 

  2.11 在虚拟机上右键 电源 --> 重新启动客户机 

  2.12 如果改错了配置文件, 可以在单用户模式或者救援模式下将配置文件改回来, 再重启就可以了 



##### 1.15 克隆虚拟机
> 为了省时间, 可以直接克隆一台机器

1. 将原机器关闭, 直接右键虚拟机关闭不好, 实际上是需要用命令行去关闭的, 右键虚拟机名称 --> 管理 --> 克隆 --> 一直选择默认项到更改虚拟机名称和存储路径 

2. 启动后修改 IP 地址和主机名, 且删除 UUID 那一项, **systemctl restart network.service** , 然后 ip addr 去检测更改的 IP 是否生效; 
	这里涉及到一个更改主机名的命令: hostnamectl set-hostname arron-03 , 用它可以直接更改主机名配置文件(如下): 
	主机名文件: /etc/hostname 
3. 做好实验后要做快照, 方便自己返回


##### 1.16 Linux机器相互登录 

1. 两台 Linux 机器互连, 第一台机器连接第二台机器, 

机器 1 上操作

[root@arron-01 ~]# ssh 192.168.137.132 The authenticity of host '192.168.137.132 (192.168.137.132)' can't be established. ECDSA key fingerprint is SHA256:T2T7DRRibSzfd+fXU9kKWeI1JTGpiJ1GlVRTQrqt0lA. ECDSA key fingerprint is MD5:44:b8:ea:9d:a2:1e:88:ea:53:fd:26:5a:4a:e9:32:db. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.137.132' (ECDSA) to the list of known hosts. root@192.168.137.132's password: Permission denied, please try again. root@192.168.137.132's password: Last failed login: Tue Jun 5 23:35:01 CST 2018 from 192.168.137.130 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Jun 5 23:32:29 2018 from 192.168.137.1

##远程端机器上操作, 如下可以看出连接的是两台机器在连接, w 命令是查看系统负载的, 从哪里连接的(TTY), TTY: TTY 设备包括虚拟控制台, 串口以及伪终端设备 [root@arron-02 ~]# w 23:36:41 up 6 min, 2 users, load average: 0.03, 0.23, 0.17 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.137.1 23:32 1.00s 0.13s 0.08s w root pts/1 192.168.137.130 23:35 1:33 0.04s 0.04s -bash

ssh 远程连接的完整命令是 ssh username@ip 如果没有写用户名, 那默认就是当前系统登录的用户(命令 whoami 查看当前系统登录的用户), ssh 默认连的是 22 端口, 有的机器不连 22 端口, 那更完整的命令是 ssh -p port username@ip , CTRL+d 和 exit 可以退出登录的远程机器

[root@arron-02 ~]# ssh root@192.168.137.130 The authenticity of host '192.168.137.130 (192.168.137.130)' can't be established. ECDSA key fingerprint is SHA256:T2T7DRRibSzfd+fXU9kKWeI1JTGpiJ1GlVRTQrqt0lA. ECDSA key fingerprint is MD5:44:b8:ea:9d:a2:1e:88:ea:53:fd:26:5a:4a:e9:32:db. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.137.130' (ECDSA) to the list of known hosts. root@192.168.137.130's password: Last login: Tue Jun 5 23:29:14 2018 from 192.168.137.1

2. xshell 使用了秘钥认证, 那两台 linux 机器上也可以连接, **ssh-keygen** 是存放秘钥对(公钥和私钥) 的位置, 
``

/root/.ssh/id_rsa. 存放的是私钥 , /root/.ssh/id_rsa.pub. 存放的是公钥

[root@arron-01 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:gqNnJgS1xABA/dwifSlGB10LLlxRPmDQNbzVkVgR4Zg root@arron-01 The key's randomart image is: +---[RSA 2048]----+ |B++ o== + | | o.o..+++.oo+o | |. . =oo..+oE . | | . . O.+ .. | | . = = S | | . . . . | | o + | | = | | | +----[SHA256]-----+

存放私钥和公钥的位置

[root@arron-01 ~]# ls /root/.ssh authorized_keys id_rsa id_rsa.pub known_hosts

如果想让机器 1 登录 机器 2 , 就得把机器 2 的公钥放到机器 1 上去,

机器 2 上操作

[root@arron-02 ~]# cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/vGqH5oRf1VvQVySiq2jppbyI6RsLHvfhXJwH4rjdgZDpP6pbW8TOKY4o/Jxajn1/9LixD2t33kyVQl5+Ti6ExQIp2OH8SjOOnPmLfiQW6wrAHOwSMfCLGNfd0n+WS2XVlqZcXPYc6giQxA4or81QJ2+7rSD9aDRH44HTDWqkLZwzr01b6jaI/aMAkYcBT9fOh6iRjBe8zfXr+zbcDU3+hac2HCaudaFnb2xf7Ga1396DP4R7vd9IU/F7Ld+8d24RzciIUmBXtOqW5BcCWuEFJhY+ECixvnhS0DEB+FQEket6PIfqXRcjVieWL6gGomic8qU1HhwU8/aSLdobdd root@arron-02

机器 1 上操作, 将 2 上的公钥放到 1 上, 然后 2 再去 ssh 1

[root@arron-01 ~]# vim /root/.ssh/authorized_keys

##arron-02(ssh-keygen) ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/vGqH5oRf1VvQVySiq2jppbyI6RsLHvfhXJwH4rjdgZDpP6pbW8TOKY4o/Jxajn1/9LixD2t33kyVQl5+Ti6ExQIp2OH8SjOOnPmLfiQW6wrAHOwSMfCLGNfd0n+WS2XVlqZcXPYc6giQxA4or81QJ2+7rSD9aDRH44HTDWqkLZwzr01b6jaI/aMAkYcBT9fOh6iRjBe8zfXr+zbcDU3+hac2HCaudaFnb2xf7Ga1396DP4R7vd9IU/F7Ld+8d24RzciIUmBXtOqW5BcCWuEFJhY+ECixvnhS0DEB+FQEket6PIfqXRcjVieWL6gGomic8qU1HhwU8/aSLdobdd root@arron-02

且要关闭 SELINUX

[root@arron-01 ~]# getenforce Disabled ###再去机器 1 上连接机器 1 [root@arron-02 ~]# ssh -p 22 192.168.137.130 Last login: Wed Jun 6 00:08:29 2018 from 192.168.137.1

* 如上就是秘钥认证

转载于:https://my.oschina.net/u/3869385/blog/1824895

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值