ubuntu用ssh密钥登录禁止密码登录

本文介绍了如何在Linux系统中创建SSH远程登录用户,使用adduser与useradd命令,并通过ssh-keygen生成密钥对。接着,详细阐述了如何将公钥复制到远程主机以实现无密码登录,以及修改sshd_config文件禁用SSH密码登录,增强系统安全性。最后,提到了如何设置SSH密钥登录root用户,并提醒注意配置PermitRootLogin选项以允许或禁止root用户密码登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章实验为在一台电脑上进行

创建ssh远程登录用户

用adduser命令创建用户,adduser命令用于需要登录的用户,useradd用于不用登录,比如apache这种进程用户
创建好后在home目录下会生成一个用户文件夹,guest01为新创建的用户
在这里插入图片描述

生成密钥并传送到guest01用户

在/home/as/.ssh文件夹下生成密钥
ssh-keygen -t rsa
在这里插入图片描述
发送到guest01@[guest01的ip地址]
ssh-copy-id -i /home/as/.ssh/id_rsa.pub guest01@[guest01的ip地址]
在guest01下自动生成了authorized_keys文件,有的要手动生成再把公钥导入
在这里插入图片描述
这时已经可以用密钥连接guest01了
在这里插入图片描述

关闭ssh密码登录

修改配置文件/etc/ssh/sshd_config
在这里插入图片描述
把#号去掉,yes改为no即可
在这里插入图片描述
此时该设备只能用密钥登录

ssh密钥登录root用户

创建一个密钥ssh-keygen
发送给guest01用户,ssh-copy-id -i /home/as/.ssh/id_rsa.pub guest01@[guest01的ip地址]发送到guest01@[guest01的ip地址],例如ssh-copy-id -i /home/as/.ssh/id_rsa.pub guest01@192.168.43.92
用ssh连接ssh 'guest01@192.168.43.92'

如果要登录root用户,需要编辑配置文件
编辑配置文件:
sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password
更改为:
PermitRootLogin yes
然后记得重启ssh服务
sudo systemctl restart sshd

authorized_keys文件

公钥导入到这个文件能够登录,如果不能自动导入要注意是追加,不要覆盖了别人的公钥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值