Linux密钥登录的设置

一、创建用户和密码,并设置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)登录成功,以后可直接使用密钥登录
登录成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。