虚拟机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 ...
随机推荐
- Tomcat的缺省是多少,怎么修改
Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 ...
- 查询linux机器的公网ip
在linux终端提示符下,输入以下命令: curl members.3322.org/dyndns/getip 可以看到下图已经查询到公网IP地址了,就是这么简单
- 《Servlet与JSP核心编程》读书笔记
这本书实际是我进入JavaWeb开发的入门书籍,而且是日常碰到一些技术问题需要确认时的参考书,前一段时间在解决一个他人的问题时,我突然发现我的第一遍阅读对这本书的内容的理解还不够透彻,所以又开始N多年 ...
- add-apt-repository出Exception问题
参考:http://blog.sina.com.cn/s/blog_5388923c0100nu8h.html 症状: xxxx@xxxxx:~$ sudo add-apt-repository pp ...
- ERR_NAME_NOT_RESOLVED错误的解决
参考:http://zhidao.baidu.com/link?url=-Beq80OXoSKef_9SmGXkQHvq2AkSE0aGfac02ykorglQF6JTP7F1XNtVxFn9EMfn ...
- ng-change事件中如何获取$event和如何在子元素事件中阻止调用父级元素事件(阻止事件冒泡)
闲聊: 今天小颖要实现一个当改变了select内容后弹出一个弹框,并且点击select父元素使得弹框消失,这就得用到阻止事件的冒泡了:$event.stopPropagation(),然而小颖发现,在 ...
- java I/O (一)
java 的I/O类基本上可以分为6大类:二进制的输入,二进制的输出,文本的输入,文本的输出,FILTER类和其他对文件操作的工具类. Java的I/O类主要在java.io的包里,其中两个主要的流为 ...
- SEO概念及SEO相关优化
SEO是英文Search Engine Optimization的缩写, 中文意译为“搜索引擎优化”. 简单地说, SEO是指从自然搜索结果获得网站流量的技术和过程. http://www.imooc ...
- 第七章 mysql 事务索引以及触发器,视图等等,很重要又难一点点的部分
[索引] 帮助快速查询 MyISAM ,InnoDB支持btree索引 Memory 支持 btree和hash索引 存储引擎支持 每个表至少16个索引 总索引长度至少256字节 创建索引的优 ...
- Python_os、os.path、os.shutil使用案例
import os import os.path print(os.path.basename('/Users/c2apple/Desktop/彩屏')) #获取路径的最后一个组成部分 os.path ...