对称加密算法
- 概念:加密和解密使用同一个公钥
- 遇到的问题:密钥的传输问题
- diffie-hellman算法:在不直接传递密钥的情况下实现加解密
非对称加密算法
- 加密解密使用不同的规则:公钥加密,私钥解密
(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)甲方获取乙方的公钥,然后用它对信息加密。
(3)乙方得到加密后的信息,用私钥解密。
- 通信过程:甲乙知道对方的公钥,在通信时使用对方的公钥加密,将消息发送到对方后,对方使用各自的私钥解密得到信息
ssh 登录过程
1 口令登录
- 建立连接时得到远程主机的公钥
- 输入密码,使用公钥加密,发送给远程主机
- 远程主机使用自己的私钥解密,得到密码,进行比对,如果正确则登入成功
- 中间人攻击:冒充远程主机发送自己的公钥,获取密码
- 应对中间人攻击:比对远程主机的哈希值,确认后再输入密码
被信任的远程主机的公钥存储在 .ssh 目录下的known_hosts
文件中
2 公钥登录(可以免输密码)
- 将自己的公钥添加到远程主机的
authorized_keys
文件中 - 建立连接时,远程主机发送一串随机字符到本机
- 本机使用私钥加密该串字符,然后发送给远程主机
- 远程主机使用已经保存的公钥解密,如果解密得到原字符串则建立连接
RSA的特点:公钥加密的,用私钥可以解密,私钥加密的用公钥可以解密
3 具体操作
- ssh配置文件:
/etc/ssh/sshd_config
里面可以修改端口号 - 启动 ssh 服务:
service sshd restart
- 口令登录:
ssh -p 22 zooo@192.168.145.34
输入密码登录,默认是22端口,因此不需要-p 22
也行 - 公钥登录:不需要输入密码,直接就登录了
SSH 工具使用
1 生成密钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P "" -C "pc_e420"
-
-P
使用密码对私钥加密,""
为不对私钥加密
对于之前没有加密的私钥, 使用-p -N 12345
加密, 密码为12345 -
-f
指定输出的私钥的文件名, 公钥文件名自动生成为私钥名+.pub
-
-C
添加密钥说明
2 向主机添加公钥, 实现免密码登录
ssh-copy-id -i ~/.ssh/id_rsa.pub zooo@192.168.234.130
- 如果使用加密的私钥, 登录的时候会要求输入私钥加密的密码
网友评论