一、创建用户和密码,并设置root权限(确保自己在root用户下)
(1)//添加一个名为tangzh的用户
adduser tangzh
(2)//修改密码
passwd tangzh
(3)提示输入密码并确认,如图所示
image.png
(4)允许该用户切换root权限
打开sudoers文件
vi /etc/sudoers
找到
root ALL=(ALL) ALL
在其下方添加下列代码
tangzh ALL=(ALL) ALL
(5)因为是系统关键文件,最后保存必须强制保存
:wq!
二、
1、切换到新创建的用户身份下
su tangzh
切换目录
cd /home/tangzh
2、生成rsa密钥
ssh-keygen -t rsa
ps:
默认生成到指定目录/root/.ssh/,密码可以直接回车跳过
在当前目录下生成了id_rsa(私钥)和id_rsa.pub(公钥)
生成密钥对,-t代表类型,有RSA和DSA两种
效果
3、
切换到密钥生成目录(.ssh是隐藏目录)
cd .ssh
4、在服务器上安装公钥
cat id_rsa.pub >> authorized_keys
5、使用
ll
查看当前目录下文件权限
赋于权限后
使用下列命令设置文件权限
chmod 600 authorized_keys
chmod 700 ~/.ssh
赋于权限后
6、设置SSH配置文件,打开密钥登录
(1)首先确保自己的用户拥有root权限,若不是则使用
sudo su -
进行切换。
(2)打开配置文件
vi /etc/ssh/sshd_config
在最后一行添加
RSAAuthentication yes
PubkeyAuthentication yes
由于文件是只读文件,最后保存的时候要使用
:wq!
7、使用密钥登录后,再次打开该配置文件,禁用密码登录(可选)
把PasswordAuthentication的属性改为no
8、最后一定要重启SSH服务
systemctl restart sshd
三、使用方式
(1)先把刚刚生成的私钥(id_rsa)从服务器下载到windows电脑上来
具体方法在之前已经讲过,请查看之前文章
使用Xshell实现windows和linux文件传输
导出密钥
并修改文件名为tangzh(可选)
(2)打开xshell,新建会话,配置如图所示
配置主机名
(3)输入刚刚创建的用户名
用户名
(4)选择Public key登录方式并导入用户密钥
导入密钥
(5)登录成功,以后可直接使用密钥登录
登录成功