前言

在一台Linux服务器下,往往默认存在一个root用户。虽然可以直接通过ssh [email protected]的方法直接用root用户身份登陆服务器,但不可避免存在一定的安全风险。因此更为保险的方法的做法是将一个新用户添加到sudo组,再配置公钥登陆。

添加用户

在Linux服务器上执行以下命令,并将username替换为你的新用户名,这将创建一个新用户和其主目录

useradd -m username

设置密码

passwd username

接着将新用户加入sudo组,在大多数Linux组中,sudo组的用户拥有sudo权限

sudo usermod -aG sudo username

配置ssh服务

编辑ssh的配置文件:

nano /etc/ssh/sshd_config

接着添加一行AllowUsers username,同样,将将username替换为你的用户名
为了提高安全性,可以将PermitRootLogin yes改为PermitRootLogin no
接着按⌃+x,输y保存。
最后,应用配置

systemctl restart sshd

在本地主机上生成公私钥

退出Linux服务器,在本地电脑上通过ssh-keygen手动生成公私钥。

ssh-keygen

如果是第一次使用,ssh-keygen会依次询问如下信息

  • 公私钥的保存路径(如果是使用普通用户执行,直接回车即可)
  • 设置密码(passphrase),这一步也是可选的,如果你设置了密码,那么在下面利用这个公私钥对登陆Linux会要求输入passphrase。
  • 确认密码(passphrase)

生成的默认公钥文件名为id_xxxx.pub,私钥文件名为id_xxxxx。

接着需要将公钥配置到Linux上

ssh-copy-id -i /filepatch/id_xxxx.pub [email protected]

这一步如果出现与home目录相关的错误,确保新用户的主目录配置正确。
这一步的替代方法是将公钥文件复制到服务器上的/home/username/.ssh/authorized_keys中。

如果一切顺利,即可通过[email protected]无需输入密码登陆到Linux服务器上。

文章目录