安装、登录Centos7
Linux概述
- 起源:Linux之前流行的系统是 Unix、由Linus Torvalds在1991年开发的
- Liunx发行版:Debian(1993年)→Ubuntu(2004年) Slachware(1993年)→SUSE(1994年) RedHat(1994年)→CentOS(2003年) RedHat→RedFlag(1999年) RedHat Fedora[社区版] RHEL[商业版](2002年)
创建虚拟机
虚拟机中4种网卡模式的区别:
桥接模式:相当于虚拟机与主机是连接到同一个路由器上、是一个网段。
NAT模式:主机是一个路由器、给虚拟机分别一个新的网段的地址。
仅主机:类似于一根网线直接连接虚拟机跟主机、只能2台机器相互连接。
安装centos7
配置IP
**简述:**默认安装好的虚拟机是没有任何IP地址的、我们需要给它设置一个IP使得我们可以使用PUTTY或Xshell来远程连接。
[root@localhost ~]# dhclient /*使用dhclient命令使用DHCP分配一个地址给虚拟机
[root@localhost ~]# ifconfig /*使用ipconfig命令查看当前机器的网络信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.170 netmask 255.255.255.0 broadcast 192.168.1.255 /*inet为IPV4地址
inet6 fe80::20c:29ff:fecc:1025 prefixlen 64 scopeid 0x20<link> /*netmask为掩码
ether 00:0c:29:cc:10:25 txqueuelen 1000 (Ethernet) /*broadcast为广播地址
RX packets 242 bytes 29800 (29.1 KiB) /*ether为MAC地址
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 100 bytes 15277 (14.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
现在需要将虚拟机的网络信息设置成IP:192.168.1.198 掩码:/24 网关:192.168.1.1 DNS1:202.98.192.67
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 /*使用vi编辑器编辑配置文件
文件内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp /*IP地址获得的方式为DHCP
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 /*网卡的名字
UUID=1b8f4dea-ecbc-4117-8ab1-df637a2b429f
DEVICE=ens33
ONBOOT=no /*开机是否自启
修改为如下内容:
TYPE=Ethernet
BOOTPROTO=static /*修改为static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1b8f4dea-ecbc-4117-8ab1-df637a2b429f
DEVICE=ens33
IPADDR=192.168.1.198 /*添加IP地址
NETMASK=255.255.255.0 /*添加子网掩码
GATEWAY=192.168.1.1 /*添加网关
DNS1=202.98.192.67 /*添加DNS
ONBOOT=yes /*设置为开机自启
重启网络服务:
[root@localhost ~]# systemctl restart network
测试网络是否能够连接
[root@localhost ~]# ping www.qq.com
PING www.qq.com (180.163.26.39) 56(84) bytes of data.
64 bytes from 180.163.26.39 (180.163.26.39): icmp_seq=1 ttl=53 time=54.4 ms
64 bytes from 180.163.26.39 (180.163.26.39): icmp_seq=2 ttl=53 time=53.3 ms
*[配置IP重点内容]
- 使用dhclient命令可在有DHCP服务的局域网内自动获得一个IP。
- 使用dhclient命令后如果要释放已有IP地址可以使用 dhclient -r 命令重新获得一个IP。
- 使用ifconfig或ip add查看网络信息、如果设置静态IP时确保IP地址与主机是在同一个网段。
- 使用vi编辑网卡配置文件时需要注意单词是否有填错且设置了DNS、否则无法ping通外网。
远程连接Linux
使用putty远程连接Linux
使用xshell远程连接Linux
使用putty设置密钥认证
step 1:客户端创建密钥对、打开puttygen生成密钥对、设置密钥连接
step 2:设置服务端
[root@localhost ~]# pwd /*确保是在root用户的家目录
/root
[root@localhost ~]# mkdir .ssh /*创建.ssh隐藏文件
[root@localhost ~]# chmod 700 .ssh/ /*修改.ssh文件的权限为700
[root@localhost ~]# vi .ssh/authorized_keys /*在.ssh目录下新建文件authorized_keys并粘贴刚刚公钥内容
[root@localhost ~]# setenforce 0 /*将selinux的状态设置为permissive
[root@localhost ~]# getenforce /*查看selinux的状态
Permissive
step 3:客户端远程连接
使用xshell设置密钥认证
step 1:使用xshell设置密钥对、并设置认证方式为密钥认证
step 2:将公钥复制进.ssh/authorized_keys里
step 3:使用密钥认证登录Linux
*[配置密钥认证重点内容]
- 确保密钥文件拼写正确
- 密钥文件必须在对应用户的家目录
- 确保关闭了selinux
单用户模式
概述:单用户类似于WINDOWS的安全模式、可以在用户忘记root密码或者系统无法正常进入时进入修改root密码、备份文件。 进入单用户模式:
单用户模式下修改root密码:
step 1:使用chroot /sysroot 命令切换系统
step 2:输入LANG=en修改语言为英文(防止乱码)
step 3:使用passwd命令修改root用户密码
step 3:执行命令touch ./autorelabel、重启即可
*[单用户模式修改root密码重点内容]
- 首先一定要执行命令chroot /sysroot切换至原有操作系统(否则还是在一个内存操作系统中)
- 如果linux有打开selinux一定要执行命令touch ./autorelabel且注意拼写不要错误(否则无法正常进入系统)
救援模式
概述: 当grub设置有密码我们无法使用单用户模式修改root密码或者备份资料时,就可以使用救援模式进入单用户模式
进入救援模式:
*[救援模式重点内容]
- 确保centos的安装盘连接并且是第一启动项
- 输入chroot /mnt/sysimage切换系统(不同于单用户模式切换系统路径)
克隆虚拟机
概述: 克隆虚拟机能有效的帮助我们复制管理虚拟机、既能节省时间又能节省磁盘空间。 克隆虚拟机:
Linux机器相互之间登录
相关命令: ssh ssh命令语法: ssh user@ip ssh命令常用参数: -p:指定远程连接的端口
使用用户名及密码实现linux机器相互之间登录:
[root@test2 ~]# w /*w命令查看当前机器的连接情况
06:12:25 up 15 min, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 05:58 13:29 0.34s 0.34s -bash
root pts/0 192.168.1.160 05:59 1.00s 0.01s 0.00s w /*当前机器为test2,目前只有一个终端从192.168.1.160连接上来
[root@test1 ~]# ssh root@192.168.1.199 /*使用test1连接test2机器
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.199' (ECDSA) to the list of known hosts.
root@192.168.1.199's password:
[root@test2 ~]# w /*当前连接的机器多了一个从test1连接上来的
06:14:00 up 17 min, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 05:58 15:04 0.34s 0.34s -bash
root pts/0 192.168.1.160 05:59 1:36 0.01s 0.01s -bash
root pts/1 192.168.1.198 06:13 0.00s 0.02s 0.02s w
使用密钥实现linux机器相互之间登录: 创建密钥:
[root@test1 ~]# ssh-keygen /*使用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:
fa:15:06:5f:45:1f:d5:18:07:a6:c8:4b:a6:e9:d4:06 root@test1
The key's randomart image is:
+--[ RSA 2048]----+
| .*==|
| . . +.oo|
| E = o .|
| X o |
| S B |
| + o . |
| . . . |
| . . |
| . |
+-----------------+
复制公钥至test2、并关闭selinux
[root@test1 ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbSG4BqbC0QQVbkVaUC5EOUm48hCbdUvmX2SaRP24CdWdWGMRO4XSAEGIZmXpAfW9DrBRTnGzLka3UlQeSz1oP56JIexXqP7i2VZTKUamtOoibU9yR58Jx0LWJ5pF3t9GAqK/SWdwgLq7NUvE3T6FKoTuW+aWTKSY2aTCYQT7plk0eho0r5mZCFjM9SNW5mYJ158Pjr+72P4yiPA9BOLO1bFY9Y4ealGNfr48kKuIDb8jToLXzjSW3fYJ5+mMKKJk972P/ptL3yQvcXVcJDVwxeufcozHa5PbMDv20f1pj88Gs0X9UZuqbc4Aa/CM+pnQ7/Sjj+DZqXs0jRox6JyXp root@test1
将此内容复制到test2机器 /root/.ssh/authorized_keys中
[root@test2 ~]# setenforce 0 /*关闭selinux
[root@test2 ~]# getenforce
Permissive
使用密钥对远程连接test2
[root@test1 ~]# ssh 192.168.1.199 /*由于设置了密钥连接、test1不需要输入任何密码即可连接test2
Last login: Mon Oct 16 06:27:46 2017 from 192.168.1.198
[root@test2 ~]#
*[linux机器之间互相登录重点内容]
- 使用密钥对连接时确保私钥是在对应用户的.ssh/目录中
- A机器登录B机器 确保B机器.ssh/authorized_keys文件里有A机器的公钥内容
- 确保selinux已经关闭