云主机配置基础-基于SSH的安全与登录

自从亚马逊的AWS将这个蛋糕做大以来,跟随着真是一家接一家,带来的结果是越来越多业务平台已经逐渐向云端服务迁移,甚至个人也能有机会简单获取到云主机,搭建属于私有服务,在这里将自己配置云主机的过程作为记录,期望能对刚接触的朋友能有所帮助。

如何登录

在拿到服务器的地址及密码后,需要通过SSH进行登录到购买的云主机,windows的系统推荐下载Cmder,mac直接用Terminal就行,接下来就可以愉快的敲命令了:

ssh root@

成功登录之后,第一件事就是给root改密码啦,输入一下命令:

passwd root

修正之后,可以重新通过SSH登录一下验证修改密码结果。
因为root用户的特殊性,不建议直接使用root用户进行登录,所以我们需要新建一个用户

adduser [用户名]
passwd [用户名]

新建用户,并且可以通过ssh登录这个用户以后,我们首先来为这个用户创建一种新的登录方式,传统的用户名和密码的登录方式有一万个安全隐患,采取公钥私钥的方式才是主流:


公钥私钥流程

原理简单来说就是:

用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 shell,不再要求密码。这样子,我们即可保证了整个登录过程的安全,也不会受到中间人攻击。[1]

接着我们可以通过ssh-keygen来生成密钥对,从安全上考虑,这个一定在本地机器完成


输入ssh-keygen命令
  • 上图中1为给密钥对的命名
  • 图中2为给私钥加密
    为了安全起见,私钥也是要安全保管的,私钥加密是指使用私钥需要输入密码,就表示有人能拿走你私钥,但是没有这个密码,照样使用不了,这里就不进一步展开来对私钥进行管理了
    生成的密钥对分别为 [密钥名] 及 [密钥名].pub,需要放到~/.ssh/目录下
    本地配置结束以后,我们就可以为云主机配置公钥了,已生成用户名进行登录后,输入:
mkdir ~/.ssh
touch ~/.ssh/authorized_keys

将本地[密钥名].pub的内容拷入authorized_keys中即可,接着再修订一下文件和目录的权限

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

马上就大功告成了,接着我们来测试一下

ssh [用户名]@[主机地址] -i ~/.ssh/[密钥名]  //cmder使用相对路径好像有点问题,可以换为绝对路径

如果成功登录后,就可以来关闭密码登录了

vi /etc/ssh/sshd_config
PasswordAuthentication no //关闭密码登录方式
PermitRootLogin no  //不允许用户直接登录root用户
Port XXXXX             //把登录默认的端口也换了
service sshd restart  //重启服务后生效

接下来测试一下登录吧

ssh [用户名]@[主机地址] -i ~/.ssh/[密钥名] -p [端口]

是不是有点太长了,没关系,alias一下

alias cloud=ssh [用户名]@[主机地址] -i ~/.ssh/[密钥名] -p [端口]

这下直接输入cloud就能登录云主机了。

你可能感兴趣的:(云主机配置基础-基于SSH的安全与登录)