如何在Linux中配置基于密钥认证的SSH
副标题[/!--empirenews.page--]
【新品产上线啦】51CTO播客,随时随地,碎片化学习
什么是基于 SSH 密钥的认证?众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议。无论何时使用 SSH 在无安全网络上发送数据,它都会在源系统上自动地被加密,并且在目的系统上解密。SSH 提供了四种加密方式,基于密码认证,基于密钥认证,基于主机认证和键盘认证。最常用的认证方式是基于密码认证和基于密钥认证。 在基于密码认证中,你需要的仅仅是远程系统上用户的密码。如果你知道远程用户的密码,你可以使用 这篇教程,我们将讨论如何在 Linux 上配置基于密钥认证的 SSH。 在 Linux 上配置基于密钥认证的 SSH为方便演示,我将使用 Arch Linux 为本地系统,Ubuntu 18.04 LTS 为远程系统。 本地系统详情:
远程系统详情:
本地系统配置就像我之前所说,在基于密钥认证的方法中,想要通过 SSH 访问远程系统,需要将公钥上传到远程系统。公钥通常会被保存在远程系统的一个 注意事项:不要使用 root 用户生成密钥对,这样只有 root 用户才可以使用。使用普通用户创建密钥对。 现在,让我们在本地系统上创建一个 SSH 密钥对。只需要在客户端系统上运行下面的命令。
上面的命令将会创建一个 2048 位的 RSA 密钥对。你需要输入两次密码。更重要的是,记住你的密码。后面将会用到它。 样例输出:
如果你已经创建了密钥对,你将看到以下信息。输入
请注意密码是可选的。如果你输入了密码,那么每次通过 SSH 访问远程系统时都要求输入密码,除非你使用了 SSH 代理保存了密码。如果你不想要密码(虽然不安全),简单地敲两次回车。不过,我建议你使用密码。从安全的角度来看,使用无密码的 ssh 密钥对不是什么好主意。这种方式应该限定在特殊的情况下使用,例如,没有用户介入的服务访问远程系统。(例如,用 如果你已经在个人文件
样例输出:
现在,我们已经在本地系统上创建了密钥对。接下来,使用下面的命令将 SSH 公钥拷贝到你的远程 SSH 服务端上。
在这里,我把本地(Arch Linux)系统上的公钥拷贝到了远程系统(Ubuntu 18.04 LTS)上。从技术上讲,上面的命令会把本地系统 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 为所有用户授予某个程序
- Win10系统鼠标怎么变大 Win调节鼠标大小方法
- 强制升级行不通?Windows 11 PC不符合要求或被警
- Windows 11商店已经脱胎换骨?八款超实用软件介绍
- win10计算机反复重启无法启动的解决方案教程
- windows-server-2012 – 从Windows Server 2012
- 在VirtualBox上安装Kali Linux的最安全快捷的方式
- 树莓派使用入门:可以使用树莓派学习的3种流行编
- Lumia 950 XL成功移植Windows 11新动画也能显现
- windows-server-2008 – 如何为Windows 2008安装