天天看点

VisualBox 克隆CentOS 7.6 后,ip,源,禁止root远程登录,主机,防火墙,ssh密钥登录10、切换时区13、 终端显示bash-4.2$ 不显示用户名和主机名

20181213 VisualBox 安装 CentOS 7.6 操作记录

20190328 克隆一个CentOS 7.6,修改主机名和IP

1、下载

官网下载地址: https://wiki.centos.org/Download
找到
	i386   Everything (ISO), Minimal (ISO), NetInstall (ISO)
选择 阿里云镜像 下载
	http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
           

2、 开始安装,记住鼠标切换键 : 左边的 Win !切记!切记!切记!

安装过程(以及以后运行中)只要操作鼠标就会弹出警告提示: 
前面一大堆英文( 意思就是 : 是否 Capture ?)
注意记住切换提示:
The host key is currently defined as Left ⌘.
           

3、在 Ubuntu Server 1804 下远程安装时,不会出现以上提示

总是会有 2 个鼠标箭头
如果其中实际有效的鼠标总是到不了顶部的 “Done”,说明图形化支持不好!需要重启服务器!
切记: Ubuntu Server上安装好 VisualBox 之后,一定要至少重启一次!

CentOS 7 不分服务器版和桌面版!
在安装过程中,会出现一个图形界面,用于设置时间、语言、安装目标磁盘、安装类型...
*** 安装类型:缺省时最小化安装!当然就是服务器版了!
           

4、首次启动时,没有 网卡地址 (最好直接以 root 登录)

** 后续修改 ip 地址方式也是一样

ip a
看到我的网卡名字:enp0s3 ,但是没有分配 ip

虚拟机 : Network —Network setting —Bridget adapter
桥接方式也没有 ip地址!

如果不是 root 登录,先 su 切换到 root
cd /etc/sysconfig/network-scripts
sudo vim ifcfg-enp0s3
到最后一行,修改为YES
ONBOOT=YES

重启网卡服务
	systemctl restart network.service

ip a
返回结果:
	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
		link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
		inet 127.0.0.1/8 scope host lo
		   valid_lft forever preferred_lft forever
		inet6 ::1/128 scope host 
		   valid_lft forever preferred_lft forever
	2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
		link/ether 08:00:27:63:e6:f5 brd ff:ff:ff:ff:ff:ff
		inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
		   valid_lft 3253sec preferred_lft 3253sec
		inet6 fe80::ba3f:1d96:dc67:fbf3/64 scope link noprefixroute 
		   valid_lft forever preferred_lft forever
操作到这里就可以离开虚拟机 ,直接以 root 用户身份 ssh 登录!
可以先确认一下 sshd 是否安装、运行
ps -ef |grep sshd

现在可以 ssh 到这个 dhcp 分配的地址去远程操作了!
ssh [email protected]

在 Ubuntu Server 下没有安装 dhcp 服务,所以,我还是直接设置了静态地址
	BOOTPROTO=static
	IPADDR=192.168.0.184
	NETMASk="255.255.255.0"
	GATEWAY=192.168.0.1
	DNS1=223.5.5.5
	
再次重启网卡服务
	sudo systemctl restart network.service
这时候 ssh 链接可能就死在那里了,重新打开一个 ssh 终端
不放心的话, sudo reboot
ssh [email protected]
           

5、安装基本工具,将 user账户 加入 sudo

1)、yum install vim
虽然我没有要求 update ,但是还是看到他安装了一大堆东西
摘录一部分如下
......
	正在安装:
 vim-enhanced                x86_64      2:7.4.160-5.el7        base      1.0 M
为依赖而安装:
 gpm-libs                    x86_64      1.20.7-5.el7           base       32 k
 perl                        x86_64      4:5.16.3-293.el7       base      8.0 M
 perl-Carp                   noarch      1.26-244.el7           base       19 k
 perl-Encode                 x86_64      2.51-7.el7             base      1.5 M
......
主要是一大堆依赖所需的工具,大部分都是 perlXXX

2)、yum install wget

3)、现在使用的 root ssh 登录,为了后续安全操作,先加入 user 到 sudoer
vi /etc/sudoers
找到并且按照这行增加一行 dhbm 
	root    ALL=(ALL)       ALL
	user 	ALL=(ALL)	ALL

操作到这里就可以 exit ,重新以 dhbm 用户身份 ssh 登录!
           

6、 切换国内源 (阿里云)

1)、参考
https://blog.csdn.net/Pipcie/article/details/80005006

2)、查看目前 源 列表
yum repolist
返回结果:
	已加载插件:fastestmirror
	Determining fastest mirrors
	 * base: mirrors.163.com
	 * extras: mirrors.cn99.com
	 * updates: mirrors.163.com
	base                                                     | 3.6 kB     00:00     
	extras                                                   | 3.4 kB     00:00     
	updates                                                  | 3.4 kB     00:00     
	(1/4): extras/7/x86_64/primary_db                          | 156 kB   00:00     
	(2/4): base/7/x86_64/group_gz                              | 166 kB   00:00     
	(3/4): base/7/x86_64/primary_db                            | 6.0 MB   00:03     
	(4/4): updates/7/x86_64/primary_db                         | 1.3 MB   00:03     
	源标识                              源名称                                状态
	base/7/x86_64                       CentOS-7 - Base                       10,019
	extras/7/x86_64                     CentOS-7 - Extras                        321
	updates/7/x86_64                    CentOS-7 - Updates                       599
	repolist: 10,939

3)、下载、加载 阿里云镜像源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sudo yum clean all
sudo yum makecache

*** 如果发生:"Failed connect to mirrors.aliyuncs.com:80; 拒绝连接"
*** 以上 3 条指令都要 sudo ,重新来过

再次查看 yum repolist
返回结果:
	已加载插件:fastestmirror
	Loading mirror speeds from cached hostfile
	 * base: mirrors.aliyun.com
	 * extras: mirrors.aliyun.com
	 * updates: mirrors.aliyun.com
	源标识                   源名称                                           状态
	base/7/x86_64            CentOS-7 - Base - mirrors.aliyun.com             10,019
	extras/7/x86_64          CentOS-7 - Extras - mirrors.aliyun.com              321
	updates/7/x86_64         CentOS-7 - Updates - mirrors.aliyun.com             599
	repolist: 10,939

4)、添加第三方EPEL源 (还是选 阿里云)
sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sudo yum clean all
sudo yum makecache

再次查看 yum repolist
返回结果:
	已加载插件:fastestmirror
	Loading mirror speeds from cached hostfile
	 * base: mirrors.aliyun.com
	 * extras: mirrors.aliyun.com
	 * updates: mirrors.aliyun.com
	源标识                源名称                                              状态
	base/7/x86_64         CentOS-7 - Base - mirrors.aliyun.com                10,019
	epel/x86_64           Extra Packages for Enterprise Linux 7 - x86_64      12,746
	extras/7/x86_64       CentOS-7 - Extras - mirrors.aliyun.com                 321
	updates/7/x86_64      CentOS-7 - Updates - mirrors.aliyun.com                599
	repolist: 23,685

** 注意:多出来一个epel/x86_64  Extra Packages for Enterprise Linux 7 - x86_64
           

7、禁止root账户ssh远程登录

sudo vim /etc/ssh/sshd_config
找到 PermitRootLogin 
去掉这行的注释 # 
yes更改为no 

重新加载 sshd 服务
	sudo systemctl restart sshd

再次尝试 root ssh 远程登录
ssh [email protected]
	[email protected]'s password: 
	Permission denied, please try again.
	[email protected]'s password: 
           

8、错误:Cannot find a valid baseurl for repo: base/7/x86_6

yum install vim 时出现 Cannot find a valid baseurl for repo: base/7/x86_6
ping www.baidu.com 不通

参考:
https://www.cnblogs.com/dadadechengzi/p/6670530.html

使用 nmcli 重新设置 DNS 地址
nmcli connection show
nmcli con mod enp0s3 ipv4.dns "114.114.114.114"

nmcli con up enp0s3
ping www.baidu.com 可以了!
先安装一下简单工具
yum install vim
yum install wget
           

9 、修改主机名称

参考:
https://blog.csdn.net/xuheng8600/article/details/79983927

查看当前的主机名称 (3 种名称!不知道都有什么作用?)
hostnamectl --static
hostnamectl --transient
hostnamectl --pretty

重设主机名称
sudo hostnamectl set-hostname centos7-77
sudo hostnamectl set-hostname centos7-77
sudo hostnamectl set-hostname centos7-77 --pretty

修改 hosts
sudo vim /etc/hosts

# 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1       centos7-77
::1             centos7-77

替换::%s/77/71/g

直接查看名称已经改变
sudo reboot 才能看到显示改变了?

疑问:127.0.0.1   localhost... 需要注释掉吗?会不会不认识 localhost?待处理
           

10、切换时区

命令是 timedatectl

timedatectl --help

查看当前时区

** 直接 timedatectl ,没有 timedatectl get-timezone 命令

timedatectl

返回结果如下:

Local time: 五 2019-04-05 21:21:56 EDT
	  Universal time: 六 2019-04-06 01:21:56 UTC
	        RTC time: 六 2019-04-06 01:21:55
	       Time zone: America/New_York (EDT, -0400)
	     NTP enabled: yes
	NTP synchronized: yes
	 RTC in local TZ: no
	      DST active: yes
	 Last DST change: DST began at
	                  日 2019-03-10 01:59:59 EST
	                  日 2019-03-10 03:00:00 EDT
	 Next DST change: DST ends (the clock jumps one hour backwards) at
	                  日 2019-11-03 01:59:59 EDT
	                  日 2019-11-03 01:00:00 EST
           

timedatectl list-timezones |grep Asia

找到 Asia/Shanghai

timedatectl set-timezone “Asia/Shanghai”

** 如果提示错误:Failed to set time zone: Invalid time zone ‘“Asia/Shanghai”’,去掉引号!

timedatectl set-timezone Asia/Shanghai

验证一下

date

2019年 04月 06日 星期六 09:24:54 CST

和本地时间对上了!

11、查看系统信息

  1. 查看版本信息位置

    ll /etc/centos

    -rw-r–r--. 1 root root 38 11月 23 21:16 /etc/centos-release

    -rw-r–r--. 1 root root 51 11月 23 21:16 /etc/centos-release-upstream

  2. 查看版本信息

    cat /etc/centos-release

    CentOS Linux release 7.6.1810 (Core)

  3. 查看内核版本

    uname -r

    3.10.0-957.el7.x86_64

  4. 查看 64位 还是 32 位

    getconf LONG_BIT

    64

12、 关闭 SELinux

查看 SELinux

sestatus

SELinux status: disabled

getenforce

Disabled

临时关闭

setenforce 0

永久关闭

sudo vim /etc/selinux/config

# by wzh 20190329 disable SELINUX

SELINUX=disabled

# SELINUX=enforcing

重启才能生效!

查看 SELinux

sestatus

SELinux status: disabled

13、 终端显示bash-4.2$ 不显示用户名和主机名

参考

https://blog.csdn.net/qq_33624294/article/details/52556856

cp -a /etc/skel/. /home/登录名

我的登录账户是 dhbm,所以

cp -a /etc/skel/. /home/dhbm

退出后,重新打开一个 Terminal,再进来就 ok!

14 、防火墙操作

  1. 查看防火墙状态

    sudo systemctl status firewalld

    sudo firewall-cmd --state

    running

  2. 防火墙基本命令

    # 开启

    service firewalld start

    # 重启

    service firewalld restart

    # 关闭

    sudo service firewalld stop

    # 查看防火墙规则

    sudo firewall-cmd --list-all

    sudo firewall-cmd --state

  3. 开启 8080 端口

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

    重启防火墙

    sudo systemctl restart firewalld.service

    sudo firewall-cmd --reload

  4. 不知道为什么,就把自己关在外面了 ssh 连接不上去了!

    sudo firewall-cmd --list-all

    public (active)

    target: default

    icmp-block-inversion: no

    interfaces: enp0s3

    sources:

    services: ssh dhcpv6-client

    ports:

    protocols:

    masquerade: no

    forward-ports:

    source-ports:

    icmp-blocks:

    rich rules:

    ** 可以看到,ports 一个都没有!

    ** 干脆重新增加端口的时候,先加上 20,22 端口

    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=21/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=20/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=4433/tcp --permanent

    重启防火墙

    sudo systemctl restart firewalld.service

    重新查看防火墙规则

    sudo firewall-cmd --list-all

    public (active)

    target: default

    icmp-block-inversion: no

    interfaces: enp0s3

    sources:

    services: ssh dhcpv6-client

    ports: 80/tcp 22/tcp 21/tcp 20/tcp 8080/tcp 4433/tcp

    protocols:

    masquerade: no

    forward-ports:

    source-ports:

    icmp-blocks:

    rich rules:

    ** 现在可以安全的退出、重新 ssh 了

15、设置 ssh 密钥登录

  1. 如果 没有 .ssh 目录,先 mkdir .ssh & cd .ssh

    #vim authorized_keys

    插入预先制作好的公钥

  2. #vim /etc/ssh/sshd_config

    #配置密钥

    AuthorizedKeysFile .ssh/authorized_keys

    #使用公钥

    PubkeyAuthentication yes

    #禁用密码登录,务必测试公钥登录完全正确之后

    PasswordAuthentication no

  3. 重启 sshd

    #systemctl restart sshd

继续阅读