ssh (Secure Shell)
维基百科的定义
SSH使用公用密钥加密技术对远程计算机进行身份验证,并在必要时允许其对用户进行身份验证。
[2]有几种使用SSH的方法;一种是使用自动生成的公私钥对对网络连接进行简单加密,
然后使用密码身份验证进行登录。另一种方法是使用手动生成的公钥-私钥对执行身份验证,
从而使用户或程序无需指定密码即可登录。在这种情况下,
任何人都可以产生一对匹配的不同密钥(公共密钥和私有密钥)。
公用密钥放置在必须允许访问匹配的专用密钥的所有者(所有者将私有密钥保密)
上的所有计算机上。虽然认证是基于私钥的,但是在认证过程中,
密钥本身永远不会通过网络传输。 SSH仅验证提供公钥的同一个人是否也拥有匹配的私钥。
在所有版本的SSH中,重要的是验证未知的公钥,即在将公钥视为有效之前将其与身份相关联。
接受未经验证的攻击者的公共密钥将授权未授权的攻击者为有效用户。
简单的说就是网络传输的内容都是通过一对公私钥加密之后的,公私钥不在网络上传输,所有者拥有私钥,公钥目标用来做校验。
使用比较普遍的公钥登录
使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。
所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,
用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,
直接允许登录shell,不再要求密码。
生成公私钥
ssh-keygen -t rsa -b 4096 -C "z18501368267@gmail.com"
- -t rsa key类型 使用rsa加密算法
- -b 4096 长度
- -C comment
生成的公私钥一般位于~/.ssh/目录下 一般为id_rsa和id_rsa.pub两个文件 id_rsa为私钥 id_rsa.pub为公钥
运用
将公钥cp到远程主机的的~/.ssh/authorized_keys目录下
mac系统下
ssh -p 1046 username@127.0.0.1
--------------------------end-------------------------
对你有帮助的话,记得点个赞👍
- [六十七点五 ]
--------------------------end-------------------------