linux 手动创建密钥实现免密登录

简介: linux 手动创建密钥实现免密登录

创建密钥文件


一般是哪个用户需要使用这个密钥就使用哪个用户执行这个操作,如果是root用户使用,使用root用户登录系统执行ssh-keygen 开始创建。



Enter file in which to save the key (/root/.ssh/id_rsa):  这里输入要保存密钥的文件,一般默认即可,直接回车下一步


Enter passphrase (empty for no passphrase):     输入密钥密码,这里设置密码的好处是您使用密钥时需要输入这个密码进行验证,验证不正确的话无法使用,避免私钥被盗用。如果想免密登录,这里直接回车即可。


Your identification has been saved in /root/.ssh/id_rsa.    私钥文件创建成功


Your public key has been saved in /root/.ssh/id_rsa.pub.   公钥文件创建成功


导入公钥信息并修改ssh配置


密钥文件创建完成后进入/root/.ssh目录,执行cat id_rsa.pub  >>  authorized_keys 将创建的公钥信息导入authorized_keys文件



执行chmod 600 /root/.ssh/authorized_keyschmod 700 /root/.ssh修改为正确的权限



修改/etc/ssh/sshd_config 取消PubkeyAuthentication yesRSAAuthentication yes 行前面的# (CentOS 7.4 以上不需要再配置RSAAuthentication这个选项)

#PubkeyAuthentication yes

#RSAAuthentication yes  

修改为

PubkeyAuthentication yes

RSAAuthentication yes

并且如果想取消ssh的密码登录的话(只保留密钥登录),可以设置PasswordAuthentication yesPasswordAuthentication no

并且修改完 sshd_config 需要重启ssh服务使其生效。systemctl restart sshd


测试使用私钥文件登录


将私钥文件id_rsa下载到客户端电脑,也可以将id_rsa中的信息复制到客户端文件中(推荐前者),之后在ssh客户端工具配置连接时选择这个私钥文件进行登录。


下面以linux系统为例,执行ssh ip -i 私钥文件名称  进行登录,测试登录成功


相关文章
|
7月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
7月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
224 13
|
7月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
233 5
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
173 4
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
327 0
Linux查看和剔除当前登录用户详细教程
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
161 0
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
588 0
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
616 0