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

1. 概述

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

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

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服务配置详解》ssh

修改内容以下:工具

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服务便可。ui

至此,已经修改了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
相关文章
相关标签/搜索