虚拟机console基础环境配置——sshd安全登陆

Posted liwanliangblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机console基础环境配置——sshd安全登陆相关的知识,希望对你有一定的参考价值。

1. 概述

在上一篇博客中,主要介绍了通过VMware workstation为虚拟机console安装最小化系统。本篇博客将介绍如何安全登陆console。
登陆Linux主机的方式有很多种,可归类为本地登陆或者远程登陆。
对于VMware workstation创建的虚拟机,本地登陆很简单,这里不做介绍。主要是介绍通过ssh协议进行远程登陆。

有关ssh协议详解参照博客《ssh协议详解》

2. xshell远程登陆

登陆Linux系统,有多种方式,比如本地,远程登陆;也有多种协议选择:比如telnet,ssh,vnc等;同时对于用户来说,根据自己PC的OS类型,也有很方式,比如采用终端,或者终端模拟工具等。
xshell是Windows系统下,包含了多种协议的终端工具,可以用来创建ssh连接,登陆远程主机。

xshelle登陆远程主机,参见博客《xshell登陆远程Linux主机.md

3. 配置sshd服务

远程登陆主机,最重要的是保证主机安全。通过配置sshd服务,修改默认参数,能够从一定程度上保存主机安全。

3.1 修改配置文件

编辑sshd服务端配置文件:vi /etc/ssh/sshd_config

有关sshd服务的详细配置,参照博客《sshd服务配置详解》

修改内容如下:

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端口。这是安全登陆的第一步。更加详细的配置以后配置。

3.2 重启sshd服务

执行命令service sshd restart,重启sshd服务即可。

至此,已经修改了ssh的登陆端口。但依然是采用密码认证方式,密码容易遗忘,且很容易被窃取。因此需要配置密钥登陆方式。

运维工作中,ssh是远程管理的基础网络协议。ssh密码交互模式是远程管理的最大障碍。因此配置免交互的方式之一就是配置ssh密钥认证。

4. 配置密钥登陆

4.1 生成密钥对

生产公密钥对的方式有两种:

  1. 通过ssh客户端工具生成,如xshell,然后上传公钥至服务器

    xshell密钥对生成,参见博客《xshell生成密钥对.md

  2. 通过ssh服务端生成,下载私钥,导入到xshell中

    Linux生成密钥对,参见博客《Linux主机生成密钥对.md

两种方式均可,采用第1种方式较为安全,博客两种都有涉及。

采用第一种方式时,需要将公钥上传至服务器,并写入认证文件种;采用第二种方式,需要下载密钥,并导入到xshell等终端工具中。

4.2 上传(下载)公密钥

本篇博客中,因为console是最小化安装,并且暂未安装vsftpd服务器实现FTP传输,也未安装VMware Tools配置文件共享,因此可以使用sftp进行公密钥传输。

4.3 公钥写入console的/root/.ssh/authorized_keys

这里需要注意三个问题:

  • /root/.ssh目录若没有,可以手动创建,并且保证权限属性为700
  • /root/.ssh/authorized_keys文件没有,可以手动创建,并且保证文件权限属性为600
  • 写入公钥到认证文件时,注意不要覆盖,而是追加

4.4 创建连接测试密钥登陆

在测试登陆时,一定要确保防火墙和SElinux处于暂时关闭状态,否则会有错误,具体参见博客《Error【0001】:主机密钥登陆问题.md

4.5 配置sshd

本次配置,主要包括:禁止密码登陆,禁止root使用密码登陆
配置/etc/ssh/sshd_config的内容如下:

Port 2222
ListenAddress 192.168.80.8
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin without-password
RSAAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
UseDNS no
Subsystem   sftp    /usr/libexec/openssh/sftp-server














以上是关于虚拟机console基础环境配置——sshd安全登陆的主要内容,如果未能解决你的问题,请参考以下文章

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

虚拟机console基础环境配置——PXE引导无人值守安装环境配置

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

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

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

KVM虚拟机管理——虚拟机克隆