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
生产公密钥对的方式有两种:
- 通过ssh客户端工具生成,如xshell,然后上传公钥至服务器
- 通过ssh服务端生成,下载私钥,导入到xshell中
两种方式均可。采用第1种方式较为安全。本篇博客两种都有涉及。
3.1 上传公钥的方式
上传公钥的方式,就需要用户在本地生成公密钥对。xshell提供了该功能。
主要步骤:
- 菜单——>工具——>用户密钥管理者
- 点击生成。【密钥类型】,默认RSA;【密钥长度】,2048位;点击【下一步】
- 密钥名称【id_rsa_2018】,可修改;输入密钥密码;点击【下一步】
- 公钥格式,默认;点击【保存为文件】,保存公钥
- 保存完之后,点击【完成】
将上述保存的公钥,上传到服务端的/root/.ssh/目录种,并写入验证文件。
3.2 下载密码的方式
下载密钥的方式,需要在服务端(console)生成。
主要步骤:
- 进入到指定目录:cd /root/.ssh
- 执行命令,生成公密钥对:ssh-keygen -t rsa -P "liwanliang" -f id_rsa
- 将公钥写入验证文件:cat id_rsa.pub > authorized_keys
- 修改验证文件权限为600:chmod 600 authorized_keys
将上述过程产生的密钥,下载到宿主机本地,然后导入xshell。导入过程中的密钥密码,为-P指定的密码。
3.3 虚拟机和宿主机共享文件
上述过程中,该如何将公钥上传,或者该如何将密钥下载是个问题。有很多方法解决这个问题。
- sftp连接登陆,上传和下载文件
- 安装VMware tools,并且启用文件共享功能
- 搭建vsftpd服务,然后上传和下载文件
本文中因为最小化安装,vsftpd等以后安装配置。为实现本篇博客的目的,采用sftp的方式传输文件。
3.4 关闭密码认证登陆
关闭密码认证登陆之前,需要确认导入的2个密钥,都能够成功认证。
然后配置/etc/ssh/sshd_config文件,取消密码认证,采用密钥认证,并禁止root用户登陆