SSH用于登录服务器以远程运行命令和程序。但是,有时您可能希望甚至需要在不输入用户名和密码的情况下自动登录SSH服务器。
通过SSH登录远程系统的两种最流行的机制是
基于密码的身份验证
和
基于密钥的身份验证
.
用户名和密码组合是SSH最常见的身份验证方法,适用于大多数人。不幸的是,使用这种方法存在一定的安全风险。
另一方面,如果您经常使用SSH连接到远程服务器,则基于密钥的身份验证方法最适合您。
那么,你可以在没有密码的情况下进行SSH吗?简而言之,是的!以下是操作方法。
步骤1:生成SSH密钥对
您首先需要在当前工作的机器上生成SSH密钥对。
如果您不确定如何做到这一点,我建议您遵循我们简短而易于遵循的指南:生成SSH密钥对[带示例]。
步骤2:将公钥复制到远程服务器
要启用不带密码的SSH登录,您需要将SSH公钥的副本传输到远程服务器。
因此,您需要知道远程服务器的凭据和其他一些详细信息,如主机名/IP、用户名、密码和端口号。
要将公钥传输到远程服务器,我们将使用
ssh复制id
在大多数Linux发行版中可用的命令。该命令将复制公钥的内容
.ssh/id_rsa.pub
到
.ssh/authorized_keys
远程系统中的文件。
ssh复制id
使用者
@远程主机
代码语言:
CSS
(
css
)
系统将提示您输入远程用户名密码。一旦用户通过身份验证,公钥将自动复制到
.ssh/authorized_keys
远程服务器上的文件。
在远程服务器上,您可以通过查看的内容来验证公钥的传输
.ssh/authorized_keys
文件
有关的更多信息
ssh复制id
命令,请参阅其手册页。
步骤3:SSH无密码登录
现在,您应该能够登录到远程服务器,而无需提示输入密码。只需尝试通过SSH登录到您的服务器:
ssh
用户名
@远程服务器
代码语言:
CSS
(
css
)
系统应将您直接登录到远程服务器;不需要密码。
结论
这就是设置不带密码的SSH登录所需要的全部内容。然后,当然,您可以向多个远程服务添加相同的公钥。
最后,需要注意的是,您可以共享公钥(
id_rsa.pub
)除了
永远不要共享您的私钥
(
id_rsa
). 只有公钥被复制到服务器。
私钥永远不应该复制到另一台机器上,因为任何拥有私钥的人都可以登录到任何拥有匹配公钥的系统中。
如果您有任何问题或反馈,请随时留言。
相关推荐
如果你在浏览器加载网站时遇到问题,你的DNS缓存可能就是罪魁祸首。你可以在不损害Mac上任何东西的情况下清除这个缓存,这可能会解决你的网站加载问题。我们将通过运行Terminal命令向您展示如何这样做。 当天的视频 滚动以继续浏览内容 使用命令清空DNS缓存 接下来,您需要 使用Terminal实用程序执行命令 刷新Mac上的DNS缓存。打开 终端 通过Spotlight、launpad或Find
随着Linux Mint 21.3“Virginia”的发布,你们中的许多人可能会热衷于从上一个版本Mint 21.2“Victoria”跳出来。为什么不呢?它带来了巨大的改进,如Cinnamon 6.0桌面环境、文件管理器增强、更好的电视观看体验、实验性的Wayland支持等。 此外,保持最新状态还意味着提高安全性和更令人满意的整体性能。 因此,在本文中,我们将引导您完成从21.2版本升级到Li
CentOS长期以来以其稳定性、可靠性和长期支持而广受欢迎。然而,随着CentOS战略的意外转变,将重点放在了CentOS Stream上,许多用户发现自己正在寻找替代解决方案。 那么,你有没有问过自己,“ 如何从CentOS 7迁移到AlmaLinux? “您不再需要担心这一点,因为本分步指南将引导您将Cencentos 7安装迁移到AlmaLinux 8,确保平稳无忧的过渡。 到目前为止,一切
著名的磁盘映像和恢复工具Rescuezilla刚刚推出了其最新版本Rescuezila 2.5,引入了许多增强功能和新功能。 更新后的版本现在支持Ubuntu 24.04(Noble),同时支持早期版本,如Ubuntu 23.10(Mantic)和Ubuntu 23.04(Lunar),这对拥有较新硬件的用户特别有利。相应的ISO映像现在可以在GitHub项目页面上获得,并可供下载。 此版本的另一
我从未想过我会为我们的读者写这样的评论,但我觉得有必要分享我对最近发布的Deepin 23 RC的想法,希望能省去每个人自己尝试的麻烦。 Deepin是一款基于Debian的Linux发行版,由中国的Deepin技术有限公司开发。面对室内开发的Deepin桌面环境(DDE),它的显著特点是易于使用和视觉吸引力,这有点让人想起macOS。 这使得它成为那些欣赏美学的人和从不同操作系统过渡到Linux
回到顶部