一、 新建用户
方法一: 使用adduser命令,一路enter(使用ssh连接可以不设置密码)
sudo adduser testuser
方法二:老版linux中可能没有adduser这个高级命令,使用useradd命令,并需要手动创建home
创建用户
sudo useradd testuser
设置用户使用的shell为/bin/bash(有时候默认会是sh)
sudo usermod -s /bin/bash testuser
上述两句也可以合成为一句
sudo useradd -s /bin/bash testuser
设置用户密码(可选)
sudo passwd testuser
创建根目录
sudo mkdir /home/testuser
sudo chown testuser:testuser /home/testuser
二、设置免密码sudo权限
运行以下命令以编辑
/etc/sudoers
文件:
sudo visudo
找到形如以下的行:
username ALL=(ALL:ALL) NOPASSWD: ALL
加入自定义用户的设置,退出ctrl + X 保存
testuser ALL=(ALL:ALL) NOPASSWD: ALL
测试用户sudo权限,如果当前是root用户,可以简单切换身份验证
##切换到testuser
su testuser
##切换回root
sudo -i
三、为用户添加ssh公钥访问
本地生成秘钥,如本机已有可跳过。输入以下命令,一路回车。默认在~/.ssh目录下生成id_rsa和id_rsa.pub两个文件。其中id_rsa是私钥,妥善保存到本机;id_rsa.pub是公钥,可以公布出去,比如放到远程服务器上
ssh-keygen -t rsa
依然是在服务器上操作,使用root用户或者切换到testuser用户进行操作
在home下创建.ssh目录及authorized_keys文件
sudo -u testuser mkdir -p /home/testuser/.ssh
sudo -u testuser touch /home/testuser/.ssh/authorized_keys
确保权限正确
sudo chmod 600 /home/testuser/.ssh/authorized_keys
sudo chown testuser:testuser /home/testuser/.ssh/authorized_keys
用文本编辑器打开本地的id_rsa.pub(或者使用cat命令),直接复制粘贴。服务器打开authorized_keys文件(此处使用vim,也可以用nano),直接粘贴并退出保存。
#本机查看
cat ~/.ssh/id_rsa.pub
#服务器编辑authorized_keys
sudo vim /home/testuser/.ssh/authorized_keys
#复制粘贴保存
本机尝试ssh连接
ssh -i ~/.ssh/id_rsa testuser@YOUR_IP_ADDRESS
如果没有指定文件名 ,可以省略-i,默认就是使用 ~/.ssh/id_rsa,简化命令为:
ssh testuser@YOUR_IP_ADDRESS
进阶配置,可以在本机的~/.ssh目录下创建一个config文件(无后缀),编辑文件加入以下配置
Host server
HostName 192.168.0.1
User testuser
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
其中Host是你自定义为这个服务器取的名字;HostName是服务器ip地址;user是指定用户名;IdentityFile是使用的秘钥文件,默认就是 ~/.ssh/id_rsa,同样可以省略。
使用xshell、windTerm等可视化工具连接,一样输入用户名,手动选择秘钥即可。