Featured image of post Linux-创建新用户并使其SSH密钥登录

Linux-创建新用户并使其SSH密钥登录

环境搭建记录

本记录执行背景

Linux新环境,只有root账号

想要达成的目的:

创建多个个人账号并使用SSH密钥登录

基本环境

连接Linux Shell后,开启 root ssh远程登录,以方便后续连接

  • 修改/etc/ssh/sshd_config文件:vim /etc/ssh/sshd_config后,将下两行追加至文件末尾

    1
    2
    
    PermitRootLogin yes
    PasswordAuthentication yes
    
  • 重启服务或者重启容器,以载入修改后的配置文件

  • 配置ssh服务开机自启(可选)

    参考命令:systemctl enable sshd

创建用户

设置账号

创建两个用户,并将其规划至同一个用户组中

root模式/权限下,使用如下命令创建用户组usersss,用户userA,userB

1
2
3
groupadd usersss
useradd -g usersss -s /binn/bash -m userA
useradd -g usersss -s /binn/bash -m userB

-g 指定用户所属用户组

-s 指定默认shell

-m 自动创建用户根目录

设置密码

root模式/权限下,使用如下命令设置用户userA,userB的密码

1
2
passwd userA
passwd userB

sudo权限

目前两个用户均需要sudo权限,故设置

1
vim /etc/sudoers

找到如下行

1
2
# User privilege specification
root    ALL=(ALL:ALL) ALL

紧挨着添加行(对应个用户),结果为

1
2
3
4
# User privilege specification
root    ALL=(ALL:ALL) ALL
userA   ALL=(ALL:ALL) ALL
userB   ALL=(ALL:ALL) ALL

然后强制保存退出:wq!,此时重启以加载配置文件

SSH密钥登录

客户端ssh命令必须具备再进行下一步

这个需要按照用户来配置,故使用userA作为示例

生成密钥

客户端

1
2
3
4
ssh-keygen -t rsa -b 4096 -f ~/.ssh/指定的文件名字

# 示例
ssh-keygen -t rsa -b 4096 -f ~/.ssh/Hello

此时~/.ssh/目录

1
2
3
./.ssh/
├── Hello
├── Hello.pub

复制Hello.pub的内容,备用

~/.ssh/下创建config文件,不能有后缀,文件名全称只有config

如果存在,则不管

将如下内容追加到config

1
2
3
4
5
Host CloudServer
  HostName 1.1.1.5
  User userA
  IdentityFile ~/.ssh/Hello
  Port 22

Host CloudServerCloudServer 自定义的名字,随你喜欢

HostName 1.1.1.51.1.1.5 SSH 服务端IP

User userAuserA想要登录的用户名,和服务器切换用户时的user保持一致

IdentityFile ~/.ssh/Hello:私钥全路径

Port:指定端口号

服务端配置

切换到要配置的用户,示例为userA

1
su userA

将拷贝的内容放入echo后的双引号内,然后执行整条命令

1
echo "ssh-rsa ....." >> ~/.ssh/authorized_keys

收缩权限

可选

root模式/权限下,修改/etc/ssh/sshd_config文件:

1
2
3
4
PermitRootLogin yes
设置为
PermitRootLogin no
  • 重启服务或者重启容器,以载入修改后的配置文件

Tips

1
2
3
4
5
6
7
ssh root@192.168.1.2 -i ~/.ssh/gcp #-i 选择私钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f HHHHH

#ssh文件上传,在客户端,非服务器终端,打开shell,运行scp命令,将指定文件上传到服务器端
scp c://user/code.zip  root@192.168.9.25:/home/lu/gisspace/ocr_0.0.1/ocr
# 或者
scp c://user/code.zip  CloudServer:/home/lu/gisspace/ocr_0.0.1/ocr
Dan❤Anan
Built with Hugo
主题 StackJimmy 设计