ssh配置密钥加密

sparrowyang

2020-02-04

上次防止服务器被ssh爆破的时候,提到了密钥加密。但是当时只是知道要这么做,也不理解为什么可以这么做。 所以,这不,刚学了密码学,对密钥的加密就感觉十分亲切。 所以就写一篇的文章记录一下配置密钥

公钥与密钥

加密分为对称加密非对称加密。而我们常用的加密解密都用同一样的密码的就是对称的。 而公钥私钥的密钥加密是非对称的加密(也叫公钥密码)

通俗点来说,公钥像一把。你把锁寄给对方,对方用你的锁锁住了包裹后发给你。 私钥就像钥匙。你收到他的包裹后用你的钥匙打开。

本文也不细聊公钥私钥原理了 (其实我就是不懂,菜)

本地生成一对公钥私钥

首先在本地生成一对公钥私钥

  cd .ssh

~/.ssh
  ssh-keygen -t rsa

生成后会多出两个文件id_rsa.pubid_rsa即为公私钥

~/.ssh
  ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

发送到远程

使用SCP把公钥发送到远程电脑

~/.ssh
  scp ./id_rsa.pub root@xx.xx.xx.xx:~/.ssh
root@sparrooow.site's password:
id_rsa.pub                                                                           100%  571     6.6KB/s

追加公钥

先用密码登录远程电脑(最后一次用密码登录了,事实上并不是)

~/.ssh
  ssh root@xx.xx.xx.xx

创建一个在.ssh文件夹里创建authorized_keys文件(有了就跳过),用于保存公钥信息。权限600,

cd /root/.ssh/
touch authorized_keys
chmod 600 /root/.ssh/authorized_keys

追加刚才发的公钥到authorized_keys

cat id_rsa.pub >> authorized_keys

至此,完事。

完成

尝试用本地电脑登陆一下

  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 ~]#

完美!