上次防止服务器被ssh
爆破的时候,提到了密钥加密。但是当时只是知道要这么做,也不理解为什么可以这么做。
所以,这不,刚学了密码学,对密钥的加密就感觉十分亲切。
所以就写一篇的文章记录一下配置密钥
公钥与密钥
加密分为对称加密和非对称加密。而我们常用的加密解密都用同一样的密码的就是对称的。
而公钥私钥的密钥加密是非对称的加密(也叫公钥密码)
通俗点来说,公钥像一把锁。你把锁寄给对方,对方用你的锁锁住了包裹后发给你。
私钥就像钥匙。你收到他的包裹后用你的钥匙打开。
本文也不细聊公钥私钥原理了 (其实我就是不懂,菜)
本地生成一对公钥私钥
首先在本地生成一对公钥私钥
1
2
3
4
|
➞ cd .ssh
~/.ssh
➞ ssh-keygen -t rsa
|
生成后会多出两个文件id_rsa.pub
和id_rsa
即为公私钥
1
2
3
|
~/.ssh
➞ ls
authorized_keys id_rsa id_rsa.pub known_hosts
|
发送到远程
使用SCP
把公钥发送到远程电脑
1
2
3
4
|
~/.ssh
➞ scp ./id_rsa.pub root@xx.xx.xx.xx:~/.ssh
root@sparrooow.site's password:
id_rsa.pub 100% 571 6.6KB/s
|
追加公钥
先用密码登录远程电脑(最后一次用密码登录了,事实上并不是)
1
2
|
~/.ssh
➞ ssh root@xx.xx.xx.xx
|
创建一个在.ssh
文件夹里创建authorized_keys
文件(有了就跳过),用于保存公钥信息。权限600,
1
2
3
|
cd /root/.ssh/
touch authorized_keys
chmod 600 /root/.ssh/authorized_keys
|
追加刚才发的公钥到authorized_keys
中
1
|
cat id_rsa.pub >> authorized_keys
|
至此,完事。
完成
尝试用本地电脑登陆一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
➞ ssh root@xx.xx.xx.xx
Last login: Mon Jun 22 20:41:59 2020 from 223.104.93.83
//
// █████▒█ ██ ▄████▄ ██ ▄█▀ ██████╗ ██╗ ██╗ ██████╗
// ▓██ ▒ ██ ▓██▒▒██▀ ▀█ ██▄█▒ ██╔══██╗██║ ██║██╔════╝
// ▒████ ░▓██ ▒██░▒▓█ ▄ ▓███▄░ ██████╔╝██║ ██║██║ ███╗
// ░▓█▒ ░▓▓█ ░██░▒▓▓▄ ▄██▒▓██ █▄ ██╔══██╗██║ ██║██║ ██║
// ░▒█░ ▒▒█████▓ ▒ ▓███▀ ░▒██▒ █▄ ██████╔╝╚██████╔╝╚██████╔╝
// ▒ ░ ░▒▓▒ ▒ ▒ ░ ░▒ ▒ ░▒ ▒▒ ▓▒ ╚═════╝ ╚═════╝ ╚═════╝
// ░ ░░▒░ ░ ░ ░ ▒ ░ ░▒ ▒░
// ░ ░ ░░░ ░ ░ ░ ░ ░░ ░
// ░ ░ ░ ░ ░
//
[root@VM_0_13_centos ~]#
|
完美!