首页 > 编程知识 正文

linux公钥免密登录,如何查看ssh密码

时间:2023-05-03 18:48:09 阅读:15377 作者:1864

安全shell (ssh )是用于客户端和服务器之间安全连接的加密网络协议,支持多种验证机制。 基于密码的认证和基于公钥的认证是目前最流行的两种认证机制。

本教程介绍如何设置基于SSH密钥的认证,以及如何在不输入密码的情况下连接到Linux服务器。

设置无SSH密码登录

要在Linux上设置SSH安全登录,只需生成公共认证密钥并将其附加到远程主机~/.ssh/authorized_keys文件中。

以下过程介绍了设置SSH安全登录的过程。

检查现有的SSH密钥对。

在生成新的SSH密钥对之前,首先检查客户端计算机上是否已经有SSH密钥。 这是因为不想复盖现有密钥。

运行以下ls命令以确定是否存在现有的SSH密钥:

ls -al ~/.ssh/id_*.pub

如果有现有密钥,可以使用这些密钥跳过下一步或备份旧密钥来生成新密钥。

如果显示No such file or directory或no matches found,表示没有SSH密钥,则可以继续执行下一步以生成新密钥。

生成新的SSH密钥对。

以下命令生成新的4096位SSH密钥对,并注释电子邮件地址。

sh-keygen-trsa-b 4096-c ' your _ email @ domain.com '

按Enter接受后,默认文件位置和文件名:

enterfileinwhichtosavethekey (/home/your username/. ssh/id _ RSA ) :

然后,ssh-keygen工具会提示您输入安全密码。 是否使用密码短语取决于你。 如果选择使用密码短语,将获得额外的安全性。 在大多数情况下,开发人员和系统管理员使用SSH而不是密码。 这是因为它有助于完全自动化的过程。 如果不想使用密码短语,请按Enter

enter pass phrase (emptyfornopassphrase ) :

整个交互看起来是这样的:

要验证是否生成了SSH密钥,请使用以下命令列出新的私钥和公钥:

ls ~/.ssh/id_*

/home/your username/. ssh/id _ RSA/home/your username/. ssh/id _ RSA.pub

复制公钥

现在已生成SSH密钥对。 要在没有密码的情况下登录服务器,必须将其复制到管理公钥的服务器上。

将公钥复制到服务器的最简单方法是使用命令ssh-copy-id。 您的本地计算机的终端类型:

sh-copy-id remote _ username @ server _ IP _ address

系统将提示您输入remote_username的密码。

remote _ username @ server _ IP _ address ' s password :

用户经过认证后,公钥将附加到远程用户的authorized_keys文件中,并关闭连接。

如果由于某种原因,ssh-copy-id本地计算机上没有实用程序,可以使用以下命令复制公钥:

cat~~/. ssh/id _ RSA.pub|ssh remote _ username @ server _ IP _ address ' mkdir-p (/. ssh cat )/. ssh/authouthoud

使用SSH密钥登录服务器

完成上述步骤后,您应该可以登录远程服务器,而无需输入密码。

要测试这一点,请尝试通过SSH登录服务器。

sh remote _ username @ server _ IP _ address

如果顺利的话,我马上登录。

禁用SSH密码认证

要向服务器添加安全层,请禁用SSH密码验证。

禁用SSH密码验证之前,请确保您可以在不使用密码的情况下登录到服务器,并且登录的用户具有sudo权限。

使用具有sudo权限的用户或根用户,使用SSH密钥登录远程服务器。

ssh sudo_user@server_ip_address

打开SSH配置式/etc/ssh/sshd_config,搜索以下命令并修改以下内容:

PasswordAuthentication no

challengeresponseauthenticationno

UsePAM no

完成后保存文件,然后重新启动SSH服务。

在Ubuntu或Debian服务器上,执行以下命令:

sudo systemctl restart ssh

在CentOS或Fedora服务器上,执行以下命令:

sudo系统重新启动固态硬盘

结论

在本教程中,您学习了如何设置基于SSH密钥的认证,以便无需输入用户密码即可登录远程服务器。 可以将同一密钥添加到多个远程服务中。

本指南还介绍如何禁用SSH密码验证并将安全层添加到服务器。

如果有问题或反馈,请在下面留言。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。