Linux下配置新用户并配置SSH公钥登陆远程服务器
前言
在一台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服务器上。
文章目录