2.网络配置、远程登录、密钥认证登录Linux、重置密码、单用户模式、救援模式、克隆虚拟机、Linux机器相互登录

原创
2019/03/14 22:19
阅读数 31


4.6/4.7 配置网络
4.8/4.9 远程登录
4.10 密钥认证登录Linux
4.11 重置密码
4.12 单用户模式
4.13 救援模式

1.15 克隆虚拟机
1.16 Linux机器相互登录

 

本次用到的几个命令:

dhclient                                              自动获取ip
rm  /*                                                删除所有系统文件
passwd root                                           更改密码
uname -r                                              查看linux内核版本
route -n                                              查看网关
cat /etc/motd                                         Linux 修改进站提示
mkdir /root/.ssh                                      创建目录
chmod 700 /root/.ssh                                 设置目录权限
reboot、init 6、 shutdown -r now                     重启Linux
cat /etc/redhat-release                              查看操作系统版本
ssh -p <端口号> <username>@<ip_addr>                  连接服务器
cat /etc/hostname                                    查看主机名
hostnamectl set-hostname 要修改的名称                 配置主机名

操作系统分类:windows linux unix

Debian(1993) ----------> Ubuntu(2004)
Slackware(1993) ---->Suse(1994)
RedHat(1994) --> Fedora(2002)
|_____ -->RHEL(2002) --> CentOS(2004, 2014被RedHat公司收购)

https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg  Linux发行版 timeline
https://www.kernel.org/  内核官网
www.centos.org     Centos 官网
https://wiki.centos.org/Download  centos版本对比
https://ywnz.com/linuxjc/4444.html  在CentOS 7系统上安装Linux Kernel 5.0的方法
https://segmentfault.com/a/1190000010639190  搭建shadowsocks 首先要有美国的 vps
http://ask.apelearn.com/question/18012   设置grub密码
https://www.cnblogs.com/clsn/p/7839965.html      http://blog.51cto.com/13055758/2086322  批量无人值守安装centos7系统
https://www.jianshu.com/p/q81RER  markdown语法

 

uname -r  查看linux 内核版本

cat /etc/redhat-release  查看操作系统版本

rm  /* 删除所有系统文件

cat /etc/motd         Linux 修改进站提示

 

一、网络配置

配置网络目的:

1)远程登录它
    2)可以使用yum安装其它的包

配置网络步骤:

1)执行dhclient命令,自动获取IP地址(NAT模式,它可以自动生成一个IP地址)
        查看IP地址的命令: ip addr  ip add
        快捷键 ctrl L 清屏

ip add 或ifconfig查看网络配置,如果没有ifconfig

通过yum install net-tools 或 yum install -y net-tools 安装

NAT 模式不受限于网络环境,只要电脑能上网,虚拟机就可以

dhclient 自动获取ip

2)配置IP地址,你需要知道:IP地址,子网掩码,网关,DNS
                公共的DNS:119.29.29.29 (dnspod)  114.114.114.114  202.106.0.20  8.8.8.8

3)编辑配置文件
        按Tab键自动补全命令或者文件路径名字
        vi /etc/sysconfig/network-scripts/ifcfg-ens33 直接回车,进入到配置文件里面
        按i,进入编辑模式,用方向键把光标挪到最下面,另起一行添加如下内容:
        IPADDR=xxxxx
        NETMASK=255.255.255.0    (PREFIX=24)
        GATEWAY=xxxx
        DNS1=119.29.29.29
        编辑好后,按ESC,再输入 :wq

网络配置文件路径 : /etc/sysconfig/network-scripts/ ifcfg-ens33

BOOTPROTO=static   静态获取IP的方式

ONBOOT=yes   开机启动

4) 重启网络服务

systemctl restart network   或  /etc/init.d/network  restart     重启网络服务

 

报错原因DNS配置有问题,DNS更改为114.114.114.114后正常

route -n 和 ip route 查看网关

window本地cmd 查看网络ipconfig

扩展:

cat 查看文件内容
    如果遇到一个很长的文件,cat之后就看不到最前面的内容了,此时可以用管道符和less命令结合起来查看。
    管道符 | 作用是,把管道左边的命令结果交给管道右面的命令去处理
    如:cat /etc/init.d/network |less 
    b 往上翻(类似page up)  f 往下翻页(类似page down)
    按q推出less

    vi 后面跟文件名
    按i进入编辑模式,其实也可以按a或者o进入编辑模式。I A O 
    除了按方向键之外,在一般模式下(没有进入编辑模式之前的那个模式)我们可以按j h k l 当成方向键来用。
    编辑完之后,按ESC进入一般模式,之后输入:wq(保持+退出)
    
    查看时间的命令  date
    查看日历  cal

二、远程登录

通过配置ip使用PUTTY远程链接

配置主机名

hostnamectl set-hostname 要修改的名称
hostname        查看主机名
cat /etc/hostname 查看主机名的配置文件

修改完成重新连接即可

登陆后也可以是用SSH连接其他机器

密钥认证:

使用一对密钥来进行验证身份。公钥+私钥   公钥是用来加密的,私钥是用来解密的。
    
    1) xshell 工具  用户密钥管理者  生成 秘钥类型(RSA、2048) 输入秘钥名称、密码可以留空  复制公钥

2)到linux机器上执行

a)创建.ssh目录  mkdir  ~/.ssh
            mkdir是创建目录的命令,后面直接跟目录名
            ~ 表示用户的家目录,执行echo $HOME查看当前用户的家目录,执行whoami查看当前用户是谁
            在一个文件或目录前面加. 表示这个文件或者目录是隐藏的,ls直接看看不到,需要用ls -a看
            ls 是查看目录或文件的命令(list)

        b)cd .ssh 
            cd命令是进入到某个目录的命令,如,cd /home  ; cd  /tmp/ ; cd .ssh 
            cd后面什么都不加,表示进入到用户家目录 cd == cd ~ 
            相对路径指的是相对当前目录的一个路径,绝对路径指的是由/开头的路径
            cd - 进入到上一次所在的路径下

        c)vi authorized_keys //进入之后按i,然后右键粘贴刚刚复制的公钥内容
            xshell  --> 工具 --> 选项  --> 鼠标和键盘  --> 右键 直接粘贴  --> 选中就复制
            按ESC  再输入:wq 

        d)chmod 600 !$
            !$表示上一条命令的最后一个参数(所谓参数,指的是以空格或者空白字符划分的那些字符串,比如
            ls a b c, a就是第一个参数  b就是第二个参数  c就是第三个参数,也就是最后一个参数)
            
            chmod命令是用来更改一个文件或者目录权限的命令。 600就是一个权限值。

 3)到xshell的会话属性,用户身份认证   publickey  输入用户名,选择对应的密钥  然后去连接对应机器即可直接连接

三、密钥认证登录Linux

关机:  执行命令  init 0/ shutdown -h now 
重启:  init 6/ reboot  / shutdown -r now
两台机器进行密钥认证登录:
    
    ssh-keygen生成密钥对: .ssh/id_rsa  .ssh/id_rsa.pub 
    ssh-copy-id root@192.168.183.33   把01机器的公钥复制到02机器上,并登录,02机器就是183.33这台机器,目的是把A机器的公钥放到B机器的authorized_keys文件中

服务器放公钥
客户端放私钥

putty秘钥认证

利用putty自带工具,点击生成公钥

设置密码,保存私钥

服务器设置公钥

创建目录 :mkdir /root/.ssh

设置目录权限: chmod 700 /root/.ssh

编辑存放公钥文件: vi /root/.ssh/authorized_keys(生成的公钥粘贴到该文件下)

防火墙:selinux 关闭:setenforce 0

下一步

服务器设置完成,打开putty客户端

配置私钥,完成后重新登陆,使用生成时设置的密码登陆

xshell秘钥认证,参考上面的远程登录去设置

生成方法:在工具中选择新建用户秘钥生成向导,秘钥类型选择 RSA,秘钥长度选择2048,生成后设置秘钥名称和密码。

在相同文件下粘贴 :    vim /root/.ssh/authorized_keys

xshell打开会话,选择对应的会话名称,选择属性->用户身份验证->方法(public key)->用户秘钥(选择刚生成的)->输入密码->确定连接 验证是否已经使用秘钥,更改用户名去连接

四、重置密码

忘记了root密码,没办法登录了。就需要重置密码了。 
用的是密钥认证,忘记root密码无所谓,只要你记得密钥密码即可。
密码相对密钥来说,更容易被破解。
密钥认证指的是 远程的ssh登录。 而本地登录无法用密钥。

改密码:

root用户,直接执行 passwd 回车 输入两次新密码即可
    普通用户,也可以改。 passwd  username 
    user1登录后,改自己密码,只需要执行 passwd 即可

如果忘记密码,也没有用密钥认证,总之就是无法远程登录了,需要使用  ---> 单用户    和    救援模式

五、单用户模式

在忘记密码的情况下,使用单用户模式重置密码,要在物理服务器操作,无法远程操作

如何进入单用户级别具体步骤:

重启机器
    按一下方向键,不要让系统马上启动
    选中第一个启动项
    按e 进入编辑grub的界面
    按方向键,找到Linux16开头的行,然后挪到ro那里,把ro改为  rw init=/sysroot/bin/sh
    再按ctrl x 启动
    执行LANG=en
    再执行 chroot /sysroot/ ,进入到真正的Linux系统里
    执行 passwd 更改密码
    执行 touch  /.autorelabel  (touch命令是用来创建一个新文件,或者说更改文件时间的命令)
    执行exit 退出 chroot的系统环境,到内存的环境
    再执行reboot,重启

1.重启Linux

reboot、init 6、 shutdown -r now

虚拟机操作方法:重启客户机然后按方向键选择

按e键进入

找到ro(即readonly)改成rw(即read和write),并在rw后加init=/sysroot/bin/sh

sysroot原系统所在路径

添加完成按ctrl-x

此时不是原来的Linux系统,通过chroot /sysroot 切换到正常的Linux系统,即可以使用原来系统的命令

通过passwd root 修改密码,存在乱码通过LANG=en修改语言为英文

密码更改成功后,输入touch /.autorelabel ,然后重启客户机

六、光盘救援模式

救援模式:

跟单用户模式有点类似,它需要用系统盘来启动,是一个内存操作系统。

 

linux 运行级别 0 - 6 (7个级别)

centos6 运行级别

0:关机

1:单用户(无需用户认证)

2:多用户模式,命令行

3:多用户模式,命令行

4:多用户模式,命令行

5:多用户模式,图形

6:reboot重启

centos7 运行级别

ls -l /usr/lib/systemd/system/runlevel*target 查看

如何进入救援模式步骤:

1)关机
    2)点右键 电源  启动时    进入bios
    3)到bios里面,选择boot,把光驱放到第一位 按F10 点yes
    4)选择troubleshuooting  回车  选择 rescue a centos system
    5)选择continue
    6)回车后,敲命令  chroot /mnt/sysimage
    7) 执行passwd命令
    8) 执行exit  然后执行 reboot   同时把光驱断开

关闭selinux

vi /etc/selinux/config  
        把 SELINUX=enforcing 改为  SELINUX=disabled
        重启系统才会生效
    临时改selinux的策略: setenforce 0  临时关闭,重启后,还会引用配置文件里面的配置
            getenforce 查看你的linux状态

如果grub密码忘了,用光盘和U盘(带系统的)

电源处选择打开电源时进入固件或BIOS

进入BIOS,选择BOOT,通过+,-把CD-ROM调整到第一位置,F10保存退出

进入光盘引导,选择Trouble Shooting

下一步选择rescue a centos system

按提示,输入 1 继续回车,根据提示,在按回车,然后输入 chroot /mnt/sysimage 切换到原来的系统,然后使用passwd root 更改密码

然后exit退出,把光驱断开,输入reboot重启

七、克隆

克隆完成后,需要把网络配置文件中的UUID删除,IP地址更改,不然会和第一台机器冲突

八、Linux机器相互登录

命令:ssh -p <端口号> <username>@<ip_addr> 如果不加-p 默认端口号是22,不加username,默认以当前本地用户

ssh username@ip

ssh -keygen 生成密钥对,id_rsa为私钥,id_rsa.pub为公钥

将公钥复制到另一台机器,查看selinux是否开启,用getenforce,如果返回Enforcing说明是开启的,临时关闭命令:setenforce 0,在用getenforce查看,返回Permissive关闭状态

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部