肇鑫的日常博客

日常

Ubuntu 16.04 服务器安装

缘起

由于美区应用商店买错了礼品卡要怎么办?的缘故,还没能用上HyperApp。于是先钻研一下手工要如何做。

选取虚拟主机

首先是在虚拟主机列表中选择64位的Ubuntu 16.04。我其实是Debian的拥护者。我自己使用的虚拟主机,一般都会用Debian。但是由于我之后会用到Swift。而官方支持的是Ubuntu,所以我这次就选它了。另外,HyperApp的文档建议的是64位。

配置用户

主机选择好之后。等待安装完成,就可以进入系统了。

进入系统之后,我们首先要创建一个普通用户。今后我们就用它登入,然后禁用root用户通过密码登录。因为有很多无聊的菜鸟黑客,会尝试使用破解root密码的方式来入侵你的电脑。

创建新用户

# adduser sammy

#是root账户的提示符,sammy是演示用的用户名。你只需要输入密码,其它按照默认就可以。

为新用户添加sudo权限

# usermod -aG sudo sammy

为新用户添加远程登录的证书

生成生成证书

这个证书是在本地机器生成的。不是在服务器。

$ ssh-keygen

生成后,查看公开密钥。

$ cat ~/.ssh/id_rsa.pub

配置服务器端

将内容复制。在服务器,输入

# su - sammy
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ nano ~/.ssh/authorized_keys

粘贴之前复制的公开密钥,按ctrl+x退出,按y保存,按回车确认。之后输入

$ chmod 600 ~/.ssh/authorized_keys
$ exit

回到本机,你现在可以通过证书访问服务器了。

禁用密码登录

$ sudo nano /etc/ssh/sshd_config

找到PasswordAuthentication,取消它的注释,将它的内容改成PasswordAuthentication no

另外,文件中有这两行。

PubkeyAuthentication yes
ChallengeResponseAuthentication no

保存退出后,执行

$ sudo systemctl reload sshd

这样通过密码登录的方式就被禁用了。

开启防火墙

$ sudo ufw allow OpenSSH
$ sudo ufw enable

参考文献