自从亚马逊的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就能登录云主机了。
网友评论