Linux·创建服务器安全登录账户


本地创建公钥

首先在本地机器生成自己的ssh登录所需要的公钥,具体命令如下:

ssh-keygen -t rsa -b 4096

然后,检查.ssh/目录下是否已经有了id_rsa.pub文件。

cat .ssh/id_rsa.pub

服务创建新用户

  1. 在服务器上创建一个新的用户,比如:newuser,具体命令如下:
    adduser newuser
    然后,设置该用户的密码,执行如下命令:
    passwd newuser

  2. (可选)接着,将该用户加入到/etc/sudoers文件中。
    在sudoers文件中找到

root ALL=(ALL) ALL # 后面换行并将当前用户添加进去
newuer ALL=(ALL) ALL;

新增newuser的这一行就是将我们新建的用户newuser赋予 sudo 超级用户权限

如果希望这个登录用户只是作为一个登录到远端服务器的一个跳板,而不给予其更多权限的话,可以不进行这步“添加到sudoers”的操作

拷贝公钥

  1. 在本地机器上将公钥拷贝到远端服务器上,具体命令如下:
    ssh-copy-id newuser@<<youur server ip>>

    这里的newuser是之前操作步骤中在远端服务器新建的用户, 并可能需要输入其密码进行连接确认

  1. 修改服务器sshd的配置文件
    将最后三行中的两行改为如下:

    PasswordAuthentication no # 禁止通过密码登录
    PermitRootLogin no # 禁止直接使用root用户登录
  2. 重启sshd服务,执行如下命令:
    systemctl restart sshd

  3. 检查下/root/.ssh/目录下的authroized_keys是否有不知名的公钥,如果有的话记得删除了。

    注意不要删除了以上步骤添加的公钥。

测试连接

在拷贝完公钥时其实命令行就已经会提示可以进行 ssh 连接了,而不需要输入密码;

ssh newuser@<<youur server ip>>

文章作者: hjwforever
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hjwforever !
评论
  目录