目录
一、ssh密钥登陆原理
ssh登陆原理
非对称加密
.ssh/文件内容
二、生成公钥跟私钥
1. mac生成SSH密钥对
2. mac生成SSH密钥对
三、本地使用ssh密钥登陆
1. 使用SSH密钥登录
一、ssh密钥登陆原理
ssh登陆原理
SSH(Secure Shell)使用公钥-私钥(非对称)加密技术来实现安全的远程登录和其他网络服务。使用SSH密钥登录时,主要涉及两个关键部分:公钥(public key)和私钥(private key),这一对密钥通过非对称加密算法生成。这里是基本流程:
-
生成密钥对:在用户端,生成一对密钥,包含一个公钥和一个私钥。公钥是可以公开的,而私钥必须保密。
-
部署公钥:将生成的公钥放置到远程服务器的特定文件中(通常是
~/.ssh/authorized_keys
)。这样,带有该公钥的服务器就“认识”了这个密钥对。 -
认证过程:当用户尝试通过SSH连接服务器时,服务器会用用户提供的公钥对一个随机消息进行加密,然后发送给用户端。用户端使用私钥对消息进行解密,并将解密的消息发送回服务器进行验证。如果验证成功(即私钥正确匹配公钥),用户就被授权登录。
非对称加密
SSH密钥登录原理和非对称加密基本概念紧密相关。这涉及到加密和解密数据所用的不同的密钥:一个公钥和一个私钥。
非对称加密是一种加密方法,它使用一对密钥:公钥和私钥。公钥和私钥是数学相关的一对密钥,公钥可以安全地共享给任何人,而私钥则必须保密。使用公钥加密的数据只能使用对应的私钥解密,反之亦然。这种特性使非对称加密成为实现安全通信的理想选择。
.ssh/文件内容
id_rsa :私钥,别台机器想登录你,你就把私钥发给它
id_rsa.pub :为公钥,你想登录别台机器,你就把公钥发给他,并叫他安装到authorized_keys
authorized_keys: 里面记录了服务器授权的所有公钥
known_hosts:ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts
二、生成公钥跟私钥
1. mac生成SSH密钥对
首先,在本地计算机上生成一个SSH密钥对。打开终端或命令行,并运行以下命令:
ssh-keygen -t rsa -b 4096
这将生成一个RSA类型的密钥对(一个公钥和一个私钥),密钥长度为4096位。按照提示操作,你可以为私钥设置密码(推荐,增加安全性)并选择保存密钥对的路径。默认情况下,SSH密钥会被保存在~/.ssh
目录下,私钥名为id_rsa
,公钥名为id_rsa.pub
。
2. mac生成SSH密钥对
1、首先选择适合自己的系统版本下载git或者openssh
git地址:Git for Windows
opnessh地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
2、打开git或者openssh的终端或命令行,并运行以下命令:
openssl:
openssl genpkey -algorithm RSA -out private.key -aes256
git:
ssh-keygen -t rsa -b 2048 -C "your_email@example"
这将生成一个RSA类型的密钥对(一个公钥和一个私钥),密钥长度为4096位。按照提示操作,你可以为私钥设置密码(推荐,增加安全性)并选择保存密钥对的路径。默认情况下,SSH密钥会被保存在~/.ssh
目录下,私钥名为id_rsa
,公钥名为id_rsa.pub
。
三、本地使用ssh密钥登陆
公钥提供给服务器
本地使用私钥登陆
1. 使用SSH密钥登录
公钥完成复制后,你现在应该能够使用SSH密钥来登录服务器了。只需要运行:
ssh username@server_address
如果你私钥不是保存在默认位置,或者你有多个密钥,可以使用-i
选项指定私钥的路径:
ssh -i /path/to/your/privatekey username@server_address
如果你之前为私钥设置了密码,这时会要求你输入密码。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1754873003a5211297.html
评论列表(0条)