Linux系统的安装及配置
1.新建虚拟机
1.1电脑名称和系统类型
打开已经安装好的virtualbox,[控制][新建]
名称:centos7(自定义即可)
安装文件夹:C:\Users\hp\centos7(自己新建一个文件夹进行安装即可)
类型:linux
版本:Red Hat(64-bit)(centos就是redhat的衍生版,所以选择redhat,根据自己电脑系统选择64或者32位)
点击[下一步]
1.2设置内存大小
我设置为2048mb即2G,一般来说够用了.
点击[下一步]
1.3创建虚拟硬盘
选择第二个选项
点击[创建]
1.4选择虚拟硬盘类型
选择VDI
点击[下一步]
1.5选择存储在物理硬盘的方式
选择动态分配
动态分配会根据此虚拟机的实际占用物理空间分配硬盘.选择此选项需要设定最大物理分配空间.
固定大小则会创建一块固定大小的物理空间给虚拟机使用,无论虚拟机是否需要这么大的空间.主机无法使用此空间的剩余大小部分.
点击[下一步]
1.6选择最大物理空间
这里选择20GB,根据实际需要进行选择即可.图片略.
点击[创建]
以上即完成了虚拟机的新建
2安装centos系统
2.0启用鼠标光标
如果不启用鼠标光标,在接下来的安装中会看不到鼠标箭头,但是可以进行选择.
在虚拟机系统未启动的情况下修改显示控制器
点击[控制][设置][显示][显示控制器]--->选择[VboxVGA]
2.1右键点击已经新建好的centos7虚拟机,[启动][正常启动]--->启动好之后--->[选择系统盘]
点击[启动]
2.2 install CentOs7-->enter
2.3选择语言
2.4设置带有感叹号的选项
点击[开始安装]
2.5设置root账户密码
设置两次密码
点击[完成]
等待系统安装完成
点击[重启]
2.6启动系统
右键[centos7][启动][正常启动]
输入账号:root
输入密码:yourpwd[不会在界面上显示具体密码或者*号]
PS:使用右侧的小数字键盘输入可能存在问题,明明已经开启了num lock,推荐使用上方数字键.
3网络相关设置
3.1.使用ifconfig查看本机网络域名等
ifconfig即interface config,接口设置
此时会报错command not found
,因为安装的是centos的minimal版本,所以还没有这个命令,需要后面安装工具包yum install net-tools
3.2.使用ip addr
查看本机网络域名等
主要靠第二个结果,这个网卡是需要进行配置的
3.3.配置文件
使用命令来打开网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
将里边最后一个选项的ONBOOT=no
改为ONBOOT=yes
,再保存退出
此时使用ip addr查看,结果没有变化.需要重启网络服务
3.4.重启网络服务
输入命令service network restart
重启服务
再输入ip addr,显示
此时enp0s3出现了inet **********即是内网ip
3.5.安装网络工具
使用命令yum install net-tools
进行安装
出现多少次确认,就输入y进行确认即可.
安装成功之后就可以使用ifconfig命令了
ip addr命令是在ifconfig命令不能使用的时候的替代,一般都是用ifconfig的.
3.6更换网络为桥接模式
使用ipconfig可以看出虚拟机的ip还是内网ip,不方便使用.
virtualbox虚拟机默认的网络连接方式是网络地址转换()NAT
将其换为桥接模式,首先关闭虚拟机,之后在[设置][网络][网卡1][连接方式]中选择桥接网卡
模式,
桥接模式后,一台主机分为多个虚拟机,每个虚拟机有自己对应的ip.
此时重启服务器,输入ifconfig
网址已经改变.
如果[界面名称]选项无法指定,需要安装对用的驱动.找到virtualbox安装文件夹中的C:\Program Files\Oracle\VirtualBox\drivers\network\netlwf\VBoxNetLwf.inf
文件,
在windows网络适配器中添加安装此驱动即可.具体可以参考以下博文:
参考博文
4.xshell连接虚拟机
打开xshell,[新建会话][连接],输入服务器名称,如centos,主机输入刚刚在服务器上面查出的ip.
之后进行[连接][接受并保存],根据提示输入服务器账号密码等.
PS:使用xshll连接阿里云等服务器的设置也是一样的,不过主机需要输入的是公网ip
在命令行(可以是Xshe,linux,mac的命令行)中连接服务器.输入命令
ssh root@192.168.0.105
# ssh usuername@ip
输入密码:yourpwd
输入exit
退出Xshell连接
5.更换下载镜像源
5.1首先安装wget工具
yum install wget
5.2备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
5.3下载对应版本repo文件, 放入/etc/yum.repos.d/
先进入到文件夹中
cd /etc/yum.repos.d/
下载repo文件
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
5.4生成缓存
yum clean all
yum makecache
6.安装vim
yum install vim
7.SSH服务
7.1服务器端SSH
yum install openssh-server
非桌面版一般默认安装好了,桌面版可能需要安装.
启动SSH
service sshd start
查看进程是否存在
ps -ef |grep ssh
设置开机启动
chkconfig sshd on
服务器默认是已经开机启动ssh服务端了
7.2客户端SSH
linux安装,安装服务端时候已经安装好了.
yum install openssh-clients
windows使用Xshell,putty,secureCRT等.
7.3.SSH config来便捷连接ssh
查看文件发现home目录下找不到.ssh文件.
首先必须在用ssh连接到服务器的条件下,再在服务器里面用root用户再次使用ssh连接自己...
ssh localhost
#ssh root@ip
执行并成功登录之后查看文件可以找到.ssh
和里面的known_hosts
文件
config是为了批量管理SSH而使用的,进入~/.ssh/
文件夹新建confiig
文件
touch config
配置config
:
vim config
注意用四个空格缩进,使用tab
进行缩进,可能不是四个空格,写入以下内容:
host "imooc"
HostName 192.168.43.46
User root
Port 22
host "imooc2"
HostName 192.168.43.45
User root
Port 22
此时新建了两个ssh连接,在服务器上直接用ssh imooc
或者ssh imooc2
就可连接相应的服务器.使用exit
命令退出ssh连接.
7.4.SSH key免密登录
使用私钥自己进行登录,使用公钥给其他人进行登录.可以在连接的时候省去输入服务器密码的步骤.这样别人登陆时候还不需要告知密码,系统更加安全.
私钥存放在服务器本地的~/.ssh/
文件夹下,公钥在~/.ssh/authorized_keys
文件中.
windows使用Xshell生成公钥.
[工具][用户密钥管理者][生成]默认rsa即可[下一步][下一步][保存].之后打开保存的文件,复制密钥即可.
linux中,进入到~/.ssh/
使用命令ssh-keygen -t rsa
表示用rsa加密,直接使用ssh-keygen
也是默认采用rsa加密.再输入文件名称,钥匙密码.会生成公钥私钥两个文件.
使用Xshell进行公钥连接.在linux的~/.ssh/authorized_keys
中写入windows生成的Xshell公钥.
再更改会话的连接方式为公钥连接,就可以跳过密码登陆了.
使用linux的公钥进行连接.
同样打开~/.ssh/authorized_keys
中写入第二个公钥,此公钥是在linux中生成的~/.ssh/imooc.rsa.pub
的内容.
使用
ssh-add ~/.ssh/imooc.rsa
将私钥注册到ssh中
如出现Could not open a connection to your authentication agent.
则需要先进行
ssh-agent bash
之后重启ssh服务
service sshd restart
再进行连接
ssh root@ip
即可不输入密码进行连接.
7.5.更改ssh的端口号(默认22端口)
对/etc/ssh/sshd_config
文件进行更改
vim /etc/ssh/sshd_config
写入以下内容
Port 23
Port 24
#可以同时兼听多个端口
重启服务即可
service sshd restart
一般需要将服务器的密码设置足够复杂,然后通过ssh keys来访问即可.
7.6.Xshell文件共享到服务器
首先在服务器安装软件
yum install lrzsz
之后在Xshell中连接linux,在linux命令行输入rz
就可以选择上传的文件,输入sz filename
选择下载服务器里面的文件.
如不使用Xshell,可以使用scp
命令
scp today.info root@ip:/tmp/
#将服务器中的today.info文件上传到linux服务器中
scp root@ip:/tmp/tomorrow.info /tmp/
#将目标服务器tmp目录下的tomorrow.info文件下载到本地服务器的tmp文件夹下