VPN从零开始 – 基础 – SSH

SSH是啥

SSH是Secure Shell的缩写,看到这里一脸懵逼对不对,这个Secure Shell是何方妖孽?不用怕,我们不进行多么高深的探讨,在这篇教程中,你只需要知道SSH是一种用来远程登录VPN服务器的认证方式就够了。

我们自己的VPN服务器当然只能由我们自己管理,我们不希望别人能够登录我们自己的服务器,但是同时,为了免去记忆和输入用户名和密码的麻烦,所以我们采用了SSH的方式。

SSH的模型

上一篇教程里面我们对网络结构建立了一个非常简单的过马路的模型,现在我们针对SSH也建立一个模型。

如果说我们的VPN服务器是一条过街天桥,并且只允许有VPN账号的人通过,那么就必须为这条过街天桥设置一道门,门上挂上锁,只有有正确钥匙的人才能通过。

SSH的模型就可以简单理解为用钥匙开锁。我们就需要在VPN服务器上设置一个锁,这个锁就像普通的锁一样,大家都能看到,是公开的,我们称之为公钥;而能开锁的钥匙只有你自己有,是私密的,我们称之为私钥

有了公钥私钥,我们就能够通过SSH的方式远程登录我们的服务器。

SSH的使用

这里暂时只介绍Windows平台下的使用方式,后续如果有需要再补充Mac / Linux下的使用方式。

软件准备

下载两个软件: PuttyPuttyGen

生成公钥和私钥

  1. 打开PuttyGen
  2. 在下面的Parameters部分选择SSH-2 RSA
    选择Parameters
  3. 点击Generate按钮。
  4. 在上面进度条开始之后,在进度条下面的空白区域随机移动鼠标。
    生成公钥
  5. 当进度条结束以后说明已经生成完毕。
  6. Public key for pasting into OpenSSH authorized_keys file下面的文本框中的内容就是公钥,以ssh-rsa开头,结尾一般是rsa-key-xxxxxxxx,最后八位是生成的日期,例如“20161004”表示2016年10月4日。将公钥的完整内容复制到一个记事本文件中,备用。
  7. 点击Save private key按钮,将私钥文件保存出来,如果出现提示框说“Are you sure you want to save this key without a passphrase to protect it”,直接点击“是”就好了。
    保存公钥和私钥
  8. 现在可以关闭PuttyGen了。

注意:在本篇教程中,公钥和私钥一定是相互配对的,也就是一个公钥文件对应唯一的一个私钥文件。

使用公钥和私钥连接服务器

这一部分内容迁移至服务器配置部分。

注意:这里说的“连接到VPN服务器”是指登录到服务器从而可以进行查看或者修改配置,并不是指创建一个可用的VPN连接。

评论 在此处输入想要评论的文本。

Copied title and URL