文章目录
1. 创建新用户并创建私钥
使用root用户创建新用户,名为xxx,并禁用密码登录。
指定用户使用的shell解释器为bash,指定用户主目录路径为/home/xxx或者其他自定义路径。
adduser xxx --disabled-password -s /bin/bash -d /home/xxx
2. 对已存在的用户创建私钥
首先使用root权限,切换到用户xxx,进入该用户xxx的工作目录。
su xxx
创建ssh的隐藏目录,并赋予700权限(只有该用户读取和修改)
mkdir ~/.ssh
chmod 700 ~/.ssh
创建公钥文件,一个用户会有一个公钥文件。输入以下命令,如果为了简便可以直接一路回车到底。当然也可以为公钥文件的生成,设置一个密码。
默认生成的路径就是用户主目录下的.ssh文件夹中。
ssh-keygen -t rsa
此时,.ssh文件夹中会出现两个文件id_rsa.pub公钥和id_rsa私钥。
接下来,将公钥写入授权文件当中。并赋予该文件600权限(该用户可读可写)
cd ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys
最后一步,将私钥文件通过puttygen工具转换为private-openssh格式
如果没有puttygen,则使用root权限安装apt install putty-tools
puttygen ~/.ssh/id_rsa -C "Sever" -o ~/.ssh/id_rsa.pem -O private-openssh
chmod 400 ~/.ssh/id_rsa.pem
将id_rsa.pem下载下来,分发给用户即可。用户拿到后,使用xshell或者其他终端软件,来进行登录,详细见:https://blog.csdn.net/weixin_45564548/article/details/111193459
3. 关闭ssh密码登录功能
使用root用户,修改/etc/ssh/sshd_config文件,关闭所有用户密码登录的功能
按照以下参数调整,其他不动
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启ssh服务
service sshd restart