zoukankan      html  css  js  c++  java
  • 虚拟机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
    
  • 相关阅读:
    php之curl实现http与https请求的方法
    Linux学习之CentOS(十)--虚拟机下的CentOS如何上网
    php--yii2框架错误提示
    Vmware安装与VMware下Linux系统安装
    Git命令
    PHP--yii中findOne转换成数组
    Window上装PHP开发环境 (XAMPP)
    yii2.0框架中session与cookie的用法
    【网站架构】从简单到复杂,一步步演变
    nginx 配置反向代理,负载均衡实战解析
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/9193874.html
Copyright © 2011-2022 走看看