赞
踩
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地进行远程访问和数据传输。它为用户提供了一种加密的通信方式,可以在客户端和服务器之间建立安全的连接。
SSH使用公钥加密技术来进行身份验证。通过生成公钥和私钥对,您可以在远程服务器上配置您的公钥,就可以使用 SSH 客户端无密码连接到服务器。
例:
假如我们有两个服务器A和B,我们想在A服务器无密码登录到B服务器,那么久可以在A服务器生成SSH的公钥和密钥,然后将公钥放到B服务器上,这样就可以实现A服务器无密登录B服务器
那下面我们就来看一下公钥和密钥的生成
输入以下命令就可以生成 SSH 密钥对:
ssh-keygen -t rsa -C 'xxx@xxx.com'
这里的 -t rsa 指定生成 RSA 类型的密钥,-C 后面的内容是你的邮箱地址,我们还可以使用-b来指定密钥长度,例如
ssh-keygen -t rsa -b 4096 -C 'xxx@xxx.com'
输入命令之后,系统会有两次让你输入的地方
系统会提示你选择保存密钥的文件路径和文件名,默认情况下会在 ~/.ssh 目录下生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
为密钥对设置密码,可以在提示时输入密码。设置密码可以增加密钥的安全性,但每次使用该密钥时都需要输入密码。为空则无密码
我们一路回车即可
执行完成之后系统会显示你公钥和密钥的文件路径,默认情况下会在 ~/.ssh 目录下生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)
如下所示, /root/.ssh/id_rsa就是我们的私钥,/root/.ssh/id_rsa.pub就是我们的公钥
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
密钥生成完毕后,你可以通过以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub
复制输出的公钥内容,以便在其他地方使用。
生成 SSH 密钥对后,你可以将公钥添加到目标服务器上的 ~/.ssh/authorized_keys
文件中,以实现无密码登录。
如果目标服务器没有authorized_keys文件,那么使用下面命令先创建文件,再将公钥放进去即可
touch authorized_keys
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。