美文网首页
云主机配置基础-基于SSH的安全与登录

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

作者: lyx2002py | 来源:发表于2018-03-20 18:42 被阅读0次

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

    如何登录

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

    ssh root@<IP地址>
    

    成功登录之后,第一件事就是给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的安全与登录

          本文链接:https://www.haomeiwen.com/subject/qdyrqftx.html