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. jQuery选择器面试题

    $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("di ...

  2. 转载 jQueryEasyUI Messager基本使用

    http://www.cnblogs.com/libingql/archive/2011/07/17/2109020.html 一.jQueryEasyUI下载地址 http://www.jeasyu ...

  3. layerX参数构建

    var defaults = { name: 'layerX', url: [ { name: 'sub', url: '', focus: true } ], parent: { name: '', ...

  4. 使用Python自动提取内容摘要

    https://www.biaodianfu.com/automatic-text-summarizer.html 利用计算机将大量的文本进行处理,产生简洁.精炼内容的过程就是文本摘要,人们可通过阅读 ...

  5. mysql select column default value if is null

    mysql select column default value if is null SELECT `w`.`city` AS `city`, `w`.`city_en` AS `city_en` ...

  6. Ocelot中文文档-不支持

    Ocelot不支持一下几点... 分块编码 - Ocelot将始终获取body大小并返回Content-Length头. 如果这不适合你的场景,只能表示抱歉! 转发host头 - 您发给Ocelot的 ...

  7. 自定义ExtJS主题

    ExtJS提供的可以使用的主题包对于创建一个干净专业的程序来说已经很有创意了,然而,你可能还是会希望提供自己的一种设计方式或现在存在的企业设计方式. 从历史上来说,给程序美化就是指的给html标签提供 ...

  8. php中$_FILES应用实例

    允许用户从表单上传文件是非常有用的.先来看一段HTML表单代码 <html> <body> <form action="upload_file.php" ...

  9. leetCode刷题(找到最长的回文字符串)

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  10. 压力测试工具ab - Apache HTTP server benchmarking tool

    搞互联网开发,压力测试必不可少.压力测试的工具很多,我用过ab和JMeter,今天主要讲ab的用法. 1.ab是什么 ab is a tool for benchmarking your Apache ...