17
Linux 服务器 SSH 密钥登录配置指南 文件编号:ISMS-G1160 版本:1.0 发布日期:2016-08-19 东软集团股份有限公司 版权所有 Copyright © Neusoft Corporation 东软秘密

Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

  • Upload
    others

  • View
    33

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

Linux 服务器 SSH

密钥登录配置指南

文件编号:ISMS-G1160 版本:1.0 发布日期:2016-08-19

东软集团股份有限公司 版权所有 Copyright © Neusoft Corporation

东软秘密

Page 2: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

目录

1. 概述 .............................................................................................. 1

1.1. 目的 ........................................................................................... 1

1.2. 适用范围 ...................................................................................... 1

1.3. 编写说明 ...................................................................................... 1

2. 配置密钥登录方法 .............................................................................. 2

2.1. Xshell 客户端生成密钥 ..................................................................... 2

2.2. SecureCRT 客户端生成密钥 .............................................................. 5

2.3. 上传公钥到服务器 ........................................................................... 8

2.4. 配置服务器支持密钥登录 ................................................................... 9

2.5. 配置 Xshell SSH 密钥登录 ................................................................ 9

2.6. 配置 SecureCRT SSH 密钥登录 ........................................................11

2.7. 关闭远程 SSH 密码登录 ...................................................................12

3. 恢复使用密码 SSH 登录【回退方法】 .....................................................13

4. 定期审计密钥登录帐户 .......................................................................14

5. 删除指定人员的密钥登录方式 ...............................................................14

6. FAQ .............................................................................................15

Q1:多个私钥使用单一 SSH 帐户登录服务器,日志操作是否被分别记录? ..............15

Q2:重装计算机时,如何备份私钥? ...........................................................15

Page 3: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 1

1. 概述

1.1. 目的

本文档旨在加强 Linux 服务器的用户登录安全,在部署到互联网上的 Linux 服务器需

要通过 SSH 远程登录时,必须使用密钥的方式进行登录。

1.2. 适用范围

本文档的使用者包括:服务器系统管理员、安全检查人员。

本文档适用的范围包括:东软集团及下属各分子公司维护管理的部署在互联网上的

Linux 服务器,部署在公司内网的服务器不强制要求。

1.3. 编写说明

本文档介绍了两种常用的 SSH 客户端软件,分别为 Xshell V5、SecureCRT V6.5,

请根据实际使用的软件,在 2.1、2.2 选择一节,在 2.5、2.6 节中选择一节查阅。对于使

用其它 SSH 客户端软件的,请参考这两种客户端的使用方法实施。

在使用此种方法进行安全设置后,重装计算机前应注意即时备份私钥文件(详见 6.2

节),在进行服务器权限交接时,必须将原服务器管理员的证书公钥删除(详见第 5 章),防

止在交接后仍有越权登录的情况发生。

本文档由经营业务管理事业部信息安全管理中心编写,如果在使用中有任何疑问,可以

发邮件至 [email protected] 联系。

Page 4: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 2

2. 配置密钥登录方法

总体来说,配置 Linux 主机使用密钥登录共分为 5 步。如下图所示:

2.1. Xshell 客户端生成密钥

打开 Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“新建用户密钥生成向导

(W)…”,如下图:

Page 5: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 3

弹出“新建密钥”对话框,在“密钥类型”项选择“RSA”公钥加密算法,“密钥长

度”选择为“2048”,如下图:

点击“下一步”;

在“密钥名称”中输入密钥名称,此处按照自己的习惯输入,并两次输入密码,密码

Page 6: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 4

应符合公司强密码规范,不能使用弱口令。点击“下一步”,如下图:

注意:

此处的密码即为私钥密码,如果此密码丢失,将导致用户私钥无法导出、无法进

行 SSH 登录。请妥善保管。

此处的“公钥格式”选择 SSH2-OpenSSH。

Page 7: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 5

点击“保存为文件…”按钮,将公钥保存到磁盘,命名此文件名称为

“Identity.pub”(名称可自行设置)。

点击“完成”,返回 Xshell 主界面。

2.2. SecureCRT 客户端生成密钥

打开 SecureCRT,在菜单栏点击“工具”,在弹出的菜单中选择“创建公钥”。

点击“下一步”

加密方式有两种,分别为 DSA 和 RSA,在 OpenSSL 都支持,选择“RSA”,点击

“下一步”。

Page 8: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 6

此时,需要两次输入一个“通行短语”,即密钥口令。此口令应符合公司强密码规范,

不能使用弱口令。

密钥长度,默认为 1024,应手动输入“2048”,点击“下一步”。

Page 9: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 7

创建密钥完成后,即完成密钥的生成向导。

注意这里设置为 OpenSSH 格式,而公钥文件(Identity.pub)、私钥(Identity)

已经保存到指定文件夹。

Page 10: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 8

2.3. 上传公钥到服务器

在生成的密钥里面有两个文件,一个公钥文件(Identity.pub),一个私钥

(Identity)。本节的目的就是将 Identity.pub 内的内容拷贝到 Linux 服务器的指定文件

~/.ssh/authroized_keys 中。

注意:

其中,“~”表示对应用户的家目录,将公钥放到哪个目录,代表登录后使用的哪

个用户登录。以 root 为例,可以以当前用户登录,输入 cd ~命令,再输入

pwd,即为当前用户的家目录。

普通用户的家目录一般为/home/xxx,而 root 的家目录,一般为/root/。

如果.ssh 目录不存在,请创建它,并把公钥信息写入文件中:

# mkdir ~/.ssh

#chmod 755 ~/.ssh

# vim ~/.ssh/authorized_keys 【将公钥信息粘贴入这个文件,在用户公钥的行

尾加上使用人的姓名作为标示,用空格和公钥隔开;保存并退出】

authorized_keys 文件内容如下:

1. [root@localhost .ssh]# vim authorized_keys

2. ssh-rsa

AAAAB3NzaC1yc2EAAAABIwAAAQEA4VCOWFrARc1m3MfEAL50v2Z2siavO3Ijpr/LZ00EZa

h8EjfZhqjAc/agkljyXmNGpVDpRdtlYco8h3P5vegXOEgKcX74fDYm0vNdVABVD1XSD8ElNy

LTCCNk7rZJbi3htJox3Q1n0vnMmB5d20d9occkAx4Ac94RWNS33EC5CszNTMgAIn+uZl0Fl

QklS1oSyWFahSTWyA6b33qG7Y5E4b6J/caObnPx6EgtBrgi97gXJHZWyYlGrpWmUuhPqs5

XToRB08CVxAyzewtq1MXv0p+Po4L1pbHLRf+TSoZ5RSBZZjY4/JMAzdXHNtnAyO0j0VNGb

BXKUcNSAHZ zhangsan

# chmod 644 ~/.ssh/authorized_keys

Page 11: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 9

注意:

其中,“~”表示对应用户的家目录,将公钥放到哪个目录,代表登录后使用的哪

个用户登录。以 root 为例,可以以当前用户登录,输入 cd ~命令,再输入

pwd,即为当前用户的家目录。

普通用户的家目录一般为/home/xxx,而 root 的家目录,一般为/root/。

2.4. 配置服务器支持密钥登录

OpenSSH 的配置通常保存在:/etc/ssh/sshd_config

#vim /etc/ssh/sshd_config 打开编辑文件

找到下面三行,去掉前面的#号注释符,如果没有,请手动添加。

RSAAuthentication yes # 启用 RSA 认证

AuthorizedKeysFile .ssh/authorized_keys # 验证公钥的存放路径

PubkeyAuthentication yes # 启用公钥认证;如下图:

修改完成后,重启 SSH 服务生效;/etc/init.d/ssh restart

2.5. 配置 Xshell SSH 密钥登录

打开 Xshell,点击“新建”按钮,弹出“新建会话”对话框,在“类别”栏目中,输

入刚刚配置 IP 地址和端口,如下图所示:

Page 12: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 10

点击左侧的“用户身份验证”,切换到认证栏目,在“方法”选择“Public Key”认证,

输入用户名,例如 root(公钥是放在/root 目录下的.ssh 文件夹中),在“用户密钥”中

选择我们刚才生成的私钥(本文中输入的“Identity”),并输入密码。

Page 13: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 11

点击“确定”,Xshell 配置 SSH 免密码登录配置完成。

“打开”建立的连接以确认是否可以使用密钥登录 SSH,如果不能,则不能继续下面

的步骤。重新按上述步骤进行验证操作。

2.6. 配置 SecureCRT SSH 密钥登录

通过以上的配置,基本按照 SSH 服务端的默认配置是可以通过密钥进行登录,如果

还是不能可以检查下前面的步骤,以及后面的 SSH 服务端配置的相关选项进行适当调

整。

配置 SecureCRT 通过密钥登录 Linux 服务器。

选中“公钥”PublicKey,点击向上的按钮,将其调整到最上面。

Page 14: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 12

点击“属性”,设置本地密钥的存放地址,单击“确定”,输入私钥密码。

“打开”建立的连接以确认是否可以使用密钥登录 SSH,如果不能,则不能继续下面

的步骤。重新按上述步骤进行验证操作。

2.7. 关闭远程 SSH 密码登录

上一步完成后,确定秘钥登录正常,此时可以关闭密码登录;(注意,这里一定要确认

密钥登录已经可用)

#vim /etc/ssh/sshd_config 打开编辑文件,找到如下配置项。

#PasswordAuthentication yes 去掉#注释符,并将“yes”修改为“no”,如下图

所示:

Page 15: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 13

修改完成后,重启 SSH 服务生效;/etc/init.d/ssh restart

3. 恢复使用密码 SSH 登录【回退方法】

(1) 修改/etc/ssh/sshd_config 配置文件。

#vim /etc/ssh/sshd_config,

找到下面三行,使用#号注释掉下面三行,以 root 为例;

#RSAAuthentication yes # 启用 RSA 认证

#AuthorizedKeysFile %h/.ssh/authorized_keys # 验证公钥的存放路径

#PubkeyAuthentication yes # 启用公钥认证

修改下面行内容,把 no 修改为 yes;

PasswordAuthentication no # no 为不启用密码登录方式,yes 是启用。如下图所

示:

(2) 删除公钥文件内容

#rm ~/.ssh/authorized_keys

Page 16: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 14

(3) 修改完成后,重启 SSH 服务生效。

#/etc/init.d/ssh restart

或者:

#sudo service sshd restart

4. 定期审计密钥登录帐户

打开公钥文件,以 root 用户为例;

查看/etc/ssh/sshd_config 文件,确认密钥存储路径和文件。如下图所示:

即所有用户的家目录均可能存在密钥登录可能。可以通过查询每个 authorized_keys

文件,确认登录帐户是否合法。cat /root/.ssh/authorized_keys,每一行是一个用户

(此显示为多行,但实际为一行)。例如以下文件,代表两个用户。

5. 删除指定人员的密钥登录方式

(1)打开指定人员的公钥文件,以 root 为例 vim /root/.ssh/authorized_keys;

如果用户名为 test,则 vim /home/test/.ssh/authorized_key 文件。

找到所删除人员公钥所在的行,删除即可;如果上例中需要删除 Lisi 的帐户,则将

Lisi 对应的数据行删除。

(2)删除完成后,重启 SSH 服务生效;/etc/init.d/ssh restart

Page 17: Linux 服务器 SSH 密钥登录配置指南 · Linux服务器SSH密钥登录配置指南 东软秘密,未经许可不得扩散 1 1. 概述 1.1. 目的 本文档旨在加强Linux

ISMS V5.0 ISMS-G1160

Linux 服务器 SSH 密钥登录配置指南

东软秘密,未经许可不得扩散 15

6. FAQ

Q1:多个私钥使用单一 SSH 帐户登录服务器,日志操作是否被分别记录?

A1:日志操作是按照登录的用户记录的,系统记录日志时,无法区分是通过哪个密钥

登录操作的;所以建议系统用户保持不变,为每个人的家目录增加密钥文件,需要时直接

删除该文件。

Q2:重装计算机时,如何备份私钥?

A2:使用 Xshell 客户端软件时,打开 Xshell 页面,点击“工具”,选择“用户密钥

管理者”。

点击“导出(E)…”,导出私钥文件。

使用 SecurceCRT 软件的,在生成密钥时,密钥缺省保存在指定文件夹中,具体文

件夹,请参见本文档 2.3 的最后一张图片。