1. 概述

上一篇博客中,主要是通过VMware workstation创建了虚拟机console。使用VMware workstation虚拟化比较轻松和简答。

本篇博客中,主要是使用console来部署KVM虚拟化环境。在部署console的KVM虚拟化之前,需要对console做一些基本的环境配置。

2. 配置console的登陆

登陆一台主机的方式有很多种:telnet,ssh,vnc等,对于VMware workstation来说,还能够通过本地登陆。

VMware workstation可以配置VNC登陆,即VMware workstation能够让远程用户进行VNC连接到内部虚拟机。

当然这不在本博客的探讨范围内。

有关Linux主机登陆的各类情况,参照博客《Linux主机的登陆》,URL:

本篇博客主要配置console的ssh协议登陆。

有关ssh协议详解参照博客《ssh协议详解》

通过VMware workstation本地登陆console(界面较丑),或者通过xshell通过ssh协议登陆。

xshell在新连接的第一次登陆时,提示是否接受远程主机的公钥,选择接受。然后输入对应的用户账号和密码,即可登陆系统。这里选择以超级用户root登陆。

登陆之后,执行命令w,可以初步了解当前系统的用户和登陆信息。

2.1 配置sshd服务

有关sshd服务的详细配置,参照博客《sshd服务配置详解》

编辑sshd服务端配置文件:vi /etc/ssh/sshd_config

修改内容如下:

Port 2222
ListenAddress 192.168.80.8
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
PasswordAuthencation yes
PermitEmptyPasswords no
UseDNS no

初步配置如上述内容。这样的配置表示,console的sshd服务监听在192.168.80.8:2222端口。这是安全登陆的第一步。更加详细的配置以后配置。

2.2 重启sshd服务

执行命令service sshd restart,重启sshd服务即可。

2.3 无法登陆的问题解决

  • 排查xshell连接console的信息,如地址,端口等
  • serivce iptables stop 关闭防火墙
  • setenforce 0,关闭selinux

3. 配置密钥登陆

ssh协议提供了两种验证方式:密码和密钥。上述第2部分中的配置文件,开启了密码登陆,这是不安全的。一般使用密钥登陆。本部分主要接受密钥登陆。

采用密钥登陆,首先要生产密钥对。私钥在用户手中,公钥写入到sshd的验证文件/root/.ssh/authorized_keys

生产公密钥对的方式有两种:

  1. 通过ssh客户端工具生成,如xshell,然后上传公钥至服务器
  2. 通过ssh服务端生成,下载私钥,导入到xshell中

两种方式均可。采用第1种方式较为安全。本篇博客两种都有涉及。

3.1 上传公钥的方式

上传公钥的方式,就需要用户在本地生成公密钥对。xshell提供了该功能。

主要步骤:

  1. 菜单——>工具——>用户密钥管理者
  2. 点击生成。【密钥类型】,默认RSA;【密钥长度】,2048位;点击【下一步】
  3. 密钥名称【id_rsa_2018】,可修改;输入密钥密码;点击【下一步】
  4. 公钥格式,默认;点击【保存为文件】,保存公钥
  5. 保存完之后,点击【完成】

将上述保存的公钥,上传到服务端的/root/.ssh/目录种,并写入验证文件。

3.2 下载密码的方式

下载密钥的方式,需要在服务端(console)生成。

主要步骤:

  1. 进入到指定目录:cd /root/.ssh
  2. 执行命令,生成公密钥对:ssh-keygen -t rsa -P "liwanliang" -f id_rsa
  3. 将公钥写入验证文件:cat id_rsa.pub > authorized_keys
  4. 修改验证文件权限为600:chmod 600 authorized_keys

将上述过程产生的密钥,下载到宿主机本地,然后导入xshell。导入过程中的密钥密码,为-P指定的密码。

3.3 虚拟机和宿主机共享文件

上述过程中,该如何将公钥上传,或者该如何将密钥下载是个问题。有很多方法解决这个问题。

  • sftp连接登陆,上传和下载文件
  • 安装VMware tools,并且启用文件共享功能
  • 搭建vsftpd服务,然后上传和下载文件

本文中因为最小化安装,vsftpd等以后安装配置。为实现本篇博客的目的,采用sftp的方式传输文件。

3.4 关闭密码认证登陆

关闭密码认证登陆之前,需要确认导入的2个密钥,都能够成功认证。

然后配置/etc/ssh/sshd_config文件,取消密码认证,采用密钥认证,并禁止root用户登陆