Linux服务器登陆安全设置,并使用ssh keys登陆

在ssh中使用密码验证是一个坏习惯,ssh keys允许你不用给远程服务器发送密码就可以进行身份验证,大大提高安全性。接下来提供一个linxu服务器配置ssh key的简单步骤
  1. 检查你服务器上的用户以及用户组,确认允许登陆的用户
    1)检查用户组,使用命令“cat /etc/group”
    /etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;
    文件内容分析:
    -bash-4.1# cat /etc/group
    www:x:500:
    在/etc/group 中的每条记录分四个字段:第一字段:用户组名称;第二字段:用户组密码;第三字段:GID第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名
    2)检查用户,使用命令“cat /etc/passwd”
    -bash-4.1# cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    www:x:500:500::/home/www:/sbin/nologin
    在/etc/passwd记录了7个字段:第一个字段用户名(www);第二个字段密码;第三个字段用户ID,第四个字段用户组ID,第五个字段未知,第六个字段个人文件夹目录,第七个字段登陆shell程序
    看第三个参数,大于500的就是非系统用户,第七个字段,如果是nologin,则说明该用户不能登陆

  2. 为登陆的用户配置用户组和用户帐号
    1)创建用户组。创建www用户组,目的是可以让nginx都有权限访问属于www组用户上传的代码文件。
    groupadd www
    2)创建用户,让该用户属于www组
    useradd -g [group name] [account]
    这样帐号就创建好了。等等,我们尝试用这个帐号登陆,竟然发现这个帐号无法登陆,因为我们不知道密码是什么。那么,使用root帐号给新建的帐号设置密码。
    
    passwd [account]
    
    
  3. 禁止root帐号登陆
    禁止root登陆,可以避免使用root帐号进行错误操作的时候带来昂贵的代价,比如执行rm -rf ./命令,少打了个“.”导致所有文件被删除。此外,还能避免外在攻击者扫描ssh服务器,并猜测你的密码。要禁止root登陆,步骤很简单。
    设置/etc/ssh/sshd_config里的PermitRootLogin选项为no(默认为yes,允许root用户登陆),并重启sshd服务/etc/init.d/sshd restart
    此时,root帐号就不能登陆了,如果要登陆root,先使用其他帐号登陆,使用su命令
    
    
  4. 配置使用SSH Keys登陆服务器
    使用新建的帐号登陆服务器后,执行命令
    
    ssh-keygen -t rsa
    该命令会新建一个rsa的ssh key到帐号目录下的.ssh目录,该目录下一共生成2个文件:id_rsa和id_rsa.pub,将id_rsa.pub改名为authorized_keys,并且将id_rsa下载到连接服务器的客户端。测试可以使用ssh key登陆之后,需要禁用密码登陆。
    设置/etc/ssh/sshd_config里的PasswordAuthentication选项为 no(默认为yes,运行密码登陆),并重启sshd服务/etc/init.d/sshd restart
  5. 总结,一个比较安全的服务器用户设置就完成了 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值