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. partition List(划分链表)

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...

  2. merge intervals(合并间隔)

    Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...

  3. DB2常用命令小结

    PS:执行命令前需要进入DB2的账户下:su db2inst1 修改密码:更改相应的操作系统密码即可,windows上可以更改db2admin的密码,linux上更改db2inst1的密码即可,db2 ...

  4. getElementById 用法的一个技巧

    假设实现把 TextBox1 的字符实时的拷贝到 TextBox2 中,代码如下: <Script language="Javascript">         fun ...

  5. lua函数随记

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

  6. Mybatis 系列9

    上篇系列8中 简单介绍了mybatis的查询,至此,CRUD都已讲完. 本文将介绍mybatis强大的动态SQL. 那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方 ...

  7. jQuery的学习笔记2

    jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...

  8. java中new关键字和newInstance()方法的区别

    1> new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 2> new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中 ...

  9. session熟知

    Session 服务器端保存会话信息的技术. //如何获得session HttpSession session = request.getSession(); //如何操作session sessi ...

  10. .NET开发设计模式-模板模式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...