博客
关于我
Linux服务器登陆安全设置,并使用ssh keys登陆
阅读量:794 次
发布时间:2023-02-04

本文共 1600 字,大约阅读时间需要 5 分钟。

在SSH中使用密码验证被认为是一种不好的习惯。SSH密钥能够实现无需向远程服务器发送密码即可完成身份验证,大大提升了安全性。以下是为Linux服务器配置SSH密钥的简单步骤。

1. 检查服务器上的用户和用户组

在开始配置之前,需要确认服务器上允许登录的用户。可以通过以下命令来查看用户组和用户信息:

  • 查看用户组:使用cat /etc/group命令。

    /etc/group文件记录了用户组的信息,包含用户组名称、密码、GID以及用户列表。每一行的四个字段依次为:用户组名称、用户组密码、用户组ID、用户列表(用户之间用逗号分隔)。
    例如:

    www:x:500:

    这里的www是用户组名称,x是用户组密码,500是用户组ID,最后一个字段为空表示用户组使用的是GID作为用户名。

  • 查看用户信息:使用cat /etc/passwd命令。

    /etc/passwd文件记录了用户的详细信息,包含7个字段:用户名、密码、用户ID、用户组ID、未知字段、主目录、登录Shell。
    例如:

    root:x:0:0:root:/root:/bin/bashwww:x:500:500::/home/www:/sbin/nologin

    第三个字段(用户ID)大于500的用户通常是非系统用户。第七个字段如果是nologin,表示该用户无法登录。

2. 为登录用户配置用户组和用户账号

  • 创建用户组

    使用groupadd命令创建用户组。例如:

    groupadd www

    这将创建一个名为www的用户组。

  • 创建用户账号

    使用useradd命令创建用户,并指定所属用户组。例如:

    useradd -g www wwwuser

    这将创建一个名为wwwuser的用户账号,并将其分配到www用户组。

  • 设置用户密码

    使用passwd命令为新用户设置密码。例如:

    passwd wwwuser

    输入并确认密码。随后,使用root账号登录服务器,设置wwwuser的密码。

3. 禁止root账号登录

为了避免因误操作或攻击导致的安全风险,可以禁止root账号登录。修改/etc/ssh/sshd_config文件中的PermitRootLogin选项,设置为no。然后重启SSH服务:

sudo systemctl restart sshd

此时,root账号将无法直接登录。如果需要访问root权限,可以先使用普通账号登录,然后使用sudo命令切换。

4. 配置SSH密钥登录

  • 生成SSH密钥

    使用ssh-keygen -t rsa命令在用户账号目录下的.ssh文件夹中生成新的SSH密钥对。

    ssh-keygen -t rsa

    生成的密钥对包括id_rsaid_rsa.pub两个文件。

  • 上传公钥到服务器

    将生成的id_rsa.pub文件复制到远程服务器,并将其重命名为authorized_keys。然后将私钥id_rsa文件添加到本地客户端的.ssh文件夹中。

  • 禁用密码登录

    修改/etc/ssh/sshd_config文件中的PasswordAuthentication选项,设置为no,然后重启SSH服务:

    sudo systemctl restart sshd

    这样,SSH服务器将不再接受密码登录,只能通过SSH密钥进行认证。

5. 测试SSH密钥登录

  • 本地测试

    使用生成的私钥文件尝试连接到远程服务器:

    ssh -i /path/to/id_rsa remoteuser@server.com

    如果成功登录,说明SSH密钥配置正确。

  • 服务器测试

    确保authorized_keys文件正确地位于~remoteuser/.ssh目录中,并且权限设置为600(读、写、属性可执行,否则可能导致拒绝登录)。

通过以上步骤,您可以安全、高效地为Linux服务器配置SSH密钥登录,从而大大提升服务器的安全性。

转载地址:http://nnkfk.baihongyu.com/

你可能感兴趣的文章
Linux系列:Harbor 1.9.3 升级到 2.8.0 的坑与过程
查看>>
Linux系列:Linux上杀毒软件有哪些?
查看>>
Linux系列:RPM安装 + yum安装 + 源码安装的区别&优缺点、CentOS下的yum安装 + yum源配置 + yum镜像源、Linux下的源码安装
查看>>
Linux系统 shell基础(一)
查看>>
Linux系统(Ubuntu)上安装单机版Redis详细指南
查看>>
linux系统/opt目录和/usr/local目录有什么区别
查看>>
linux系统rootkit恶意软件安全检测工具rkhunter安装部署、使用详解
查看>>
linux系统——hosts文件修改
查看>>
Linux系统上安装MySQL 5.5prm
查看>>
Linux系统上的磁盘扩展总结
查看>>
Linux系统下如何使用中文输入法
查看>>
linux系统下如何创建二级域名和删除这个目录文件
查看>>
Linux系统下安装配置 OpenLDAP + phpLDAPadmin
查看>>
linux系统下查看内存使用情况
查看>>
Linux系统下查看硬件信息命令大全
查看>>
LInux系统两套管理网络连接的方案interfaces和Network-Manager
查看>>
linux系统中 修改oracle数据库字符集问题
查看>>
Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别
查看>>
Linux系统中cgroup介绍
查看>>
linux系统中chmod用法详解
查看>>