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用户登陆

虚拟机console基础环境配置——sshd安全登陆的更多相关文章

  1. 虚拟机console基础环境配置——安装VMware Tools

    1. 虚拟机设置中点击安装2. 虚拟机中挂载VMware Tools镜像3. 解压安装4. 配置共享目录5. 有关VMware Tools 1. 虚拟机设置中点击安装 VMware workstati ...

  2. 虚拟机console基础环境配置——系统镜像站点配置

    1. 概述2. 部署HTTP服务器2.1 YUM安装httpd2.2 配置httpd2.3 启动httpdf2.4 测试httpd3. 部署FTP服务器3.1 YUM安装vsftpd3.2 配置vsf ...

  3. 虚拟机console基础环境部署——工作目录准备

    1. 概述2. 相关约定2.1 删除旧文件2.2 创建全局共享文件目录2.3 创建全局软件安装目录2.4 创建数据放置目录3. 总结 1. 概述 上述博客中,已经为console最小化安装了操作系统. ...

  4. 虚拟机console基础环境部署——配置本地YUM源

    1. CD/ROM装载系统镜像2. 挂载设备3. 配置本地源4. 总结 有关YUM源及Linux系统三大软件管理方式,参照博客<CentOS系统三大软件管理>,笔记内链:CentOS系统三 ...

  5. 虚拟机console基础环境部署——安全加固

    1. 概述 安全是一个重要的课题.广义上可以总结为: 主机安全 网络安全 信息安全 数据安全 虽然console已经是最小化安装,但是这并不能说明console就已经安全了.之前的博客对console ...

  6. 虚拟机console基础环境部署——系统基础环境

    1. 概述2. 工具类安装2.1 安装vim2.2 安装tree2.3 安装expect2.4 安装lsof3. 编译环境类安装 1. 概述 本系列博客是在最小化安装CentOS6.5的基础上,通过配 ...

  7. kubernetes基础环境配置

    一.基础环境配置 环境详情 主机名(FQDN) IP地址(NAT) 描述 linux-node1.example.com eth0:192.168.56.11 1VCPU.2G内存.一块硬盘s da5 ...

  8. k8s基础环境配置:基于CentOS7.9

    k8s基础环境配置:基于CentOS7.9 wmware15安装centos7.9:https://www.cnblogs.com/uncleyong/p/15261742.html 1.配置静态ip ...

  9. 【No.1 Ionic】基础环境配置

    Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...

随机推荐

  1. java并发包分析之———Atomic类型

    一.何谓Atomic?   Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位.计算机中的Atomic是指不能分割成若干部分的意思.如果一段代码被认为是Atomic,则表示这段代码在执行过 ...

  2. python的logging模块之读取yaml配置文件。

    python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...

  3. lua函数随记

    在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...

  4. Install OpenCV 3.0 and Python 2.7+ on Ubuntu

    为了防止原文消失或者被墙,转载留个底,最好还是去看原贴,因为随着版本变化,原贴是有人维护升级的 http://www.pyimagesearch.com/2015/06/22/install-Open ...

  5. 选择Web框架的20条标准

    原文观点由Matt Raible提出,关于Matt Rabile的介绍:http://www.infoq.com/cn/author/Matt-Raible 内容摘自<Java程序员修炼之道&g ...

  6. Python 30分钟入门指南

    Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...

  7. YOLO_Online 将深度学习最火的目标检测做成在线服务实战经验分享

    YOLO_Online 将深度学习最火的目标检测做成在线服务 第一次接触 YOLO 这个目标检测项目的时候,我就在想,怎么样能够封装一下让普通人也能够体验深度学习最火的目标检测项目,不需要关注技术细节 ...

  8. 老司机告诉你高质量的Java代码是怎么练成的?

    一提起程序员,首先想到的一定是"码农",对,我们是高产量的优质"码农",我们拥有超跃常人的逻辑思维以及不走寻常路的分析.判别能力,当然,我们也有良好的编码规范, ...

  9. Servlet 单例多线程【转】

    源地址:Servlet 单例多线程 Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Ser ...

  10. Python_正则表达式二

    ''' 正则表达式对象的sub(repl,string[,count=0])和subn(repl,string[,count=0])方法用来实现字符串替换功能 ''' example='''Beaut ...