虚拟机console基础环境配置——sshd安全登陆
2. 配置console的登陆
2.1 配置sshd服务
2.2 重启sshd服务
2.3 无法登陆的问题解决
3. 配置密钥登陆
3.1 上传公钥的方式
3.2 下载密码的方式
3.3 虚拟机和宿主机共享文件
3.4 关闭密码认证登陆
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用户登陆
虚拟机console基础环境配置——sshd安全登陆的更多相关文章
- 虚拟机console基础环境配置——安装VMware Tools
1. 虚拟机设置中点击安装2. 虚拟机中挂载VMware Tools镜像3. 解压安装4. 配置共享目录5. 有关VMware Tools 1. 虚拟机设置中点击安装 VMware workstati ...
- 虚拟机console基础环境配置——系统镜像站点配置
1. 概述2. 部署HTTP服务器2.1 YUM安装httpd2.2 配置httpd2.3 启动httpdf2.4 测试httpd3. 部署FTP服务器3.1 YUM安装vsftpd3.2 配置vsf ...
- 虚拟机console基础环境部署——工作目录准备
1. 概述2. 相关约定2.1 删除旧文件2.2 创建全局共享文件目录2.3 创建全局软件安装目录2.4 创建数据放置目录3. 总结 1. 概述 上述博客中,已经为console最小化安装了操作系统. ...
- 虚拟机console基础环境部署——配置本地YUM源
1. CD/ROM装载系统镜像2. 挂载设备3. 配置本地源4. 总结 有关YUM源及Linux系统三大软件管理方式,参照博客<CentOS系统三大软件管理>,笔记内链:CentOS系统三 ...
- 虚拟机console基础环境部署——安全加固
1. 概述 安全是一个重要的课题.广义上可以总结为: 主机安全 网络安全 信息安全 数据安全 虽然console已经是最小化安装,但是这并不能说明console就已经安全了.之前的博客对console ...
- 虚拟机console基础环境部署——系统基础环境
1. 概述2. 工具类安装2.1 安装vim2.2 安装tree2.3 安装expect2.4 安装lsof3. 编译环境类安装 1. 概述 本系列博客是在最小化安装CentOS6.5的基础上,通过配 ...
- kubernetes基础环境配置
一.基础环境配置 环境详情 主机名(FQDN) IP地址(NAT) 描述 linux-node1.example.com eth0:192.168.56.11 1VCPU.2G内存.一块硬盘s da5 ...
- k8s基础环境配置:基于CentOS7.9
k8s基础环境配置:基于CentOS7.9 wmware15安装centos7.9:https://www.cnblogs.com/uncleyong/p/15261742.html 1.配置静态ip ...
- 【No.1 Ionic】基础环境配置
Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...
随机推荐
- partition List(划分链表)
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- merge intervals(合并间隔)
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...
- DB2常用命令小结
PS:执行命令前需要进入DB2的账户下:su db2inst1 修改密码:更改相应的操作系统密码即可,windows上可以更改db2admin的密码,linux上更改db2inst1的密码即可,db2 ...
- getElementById 用法的一个技巧
假设实现把 TextBox1 的字符实时的拷贝到 TextBox2 中,代码如下: <Script language="Javascript"> fun ...
- lua函数随记
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
- Mybatis 系列9
上篇系列8中 简单介绍了mybatis的查询,至此,CRUD都已讲完. 本文将介绍mybatis强大的动态SQL. 那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方 ...
- jQuery的学习笔记2
jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...
- java中new关键字和newInstance()方法的区别
1> new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 2> new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中 ...
- session熟知
Session 服务器端保存会话信息的技术. //如何获得session HttpSession session = request.getSession(); //如何操作session sessi ...
- .NET开发设计模式-模板模式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...