vps

Security

添加user

$ useradd -r -m -s /bin/bash username
$ passwd username  - 设置密码

$ vim /etc/sudoers (需要以root来执行,新建的user暂时不能)

root ALL=(ALL) ALL

找到这一行,并在下面添加 xxxx ALL=(ALL) ALL, 然后保存 退出


更改ssh端口以及禁止root登录:

$ sudo vim /etc/ssh/sshd_config

Port 22 -> Port xxxx Port xxxx(以防万一设置多个端口监听)

PasswordAuthentication no

PermitRootLogin no

$ sudo service ssh restart

Reference:


ssh 通过跳板机访问服务器

Configuration

shadowsocks

安装

$ curl 'https://raw.githubusercontent.com/shadowsocks/stackscript/master/stackscript.sh?v=4' > /tmp/ss.sh && bash /tmp/ss.sh && rm /tmp/ss.sh

注:使用本安装脚本会自动优化系统参数。不过其中 hybla 算法的优化需要更换内核后才能生效。

可以配合 supervisor 使用

检查是否一切正常

$ supervisorctl status

获取随机生成的密码和端口号

$ cat /etc/shadowsocks.json

如果修改了 shadowsocks 配置 /etc/shadowsocks.json, 可以重启 shadowsocks:

$ supervisorctl restart shadowsocks

如果用了以上方法,想把端口修改成<1024的,比如443,那么

$ vim /etc/supervisor/conf.d/shadowsocks.conf

把上面的 user=nobody 改成 user=root

然后更新 supervisor 配置:

$ supervisorctl update

最后重启 shadowsocks:

$ supervisorctl restart shadowsocks

Reference:

shadowsocks wiki


Digital Ocean 机房迁移

  1. 要迁移的 Droplet 关机,然后点击 Image -> Take a Snapshot
  2. 点击那个小地球,选择要迁入的机房,点击 transfer,等待完成
  3. Creat, 在 Select Image 时,点击 My Images, 选择之前做好准备的镜像就可以了

Reference:


重新开始

上传公钥

$ ssh-copy-id user@server.ip

服务器生成ssh key来拉取github repo(参考):

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

环境搭建(对于ubuntu 16.04来说)

一股脑的各种build依赖安装:

$ sudo apt-get install zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev

安装nginx(参考)

$ vim /etc/apt/sources.list
  在末尾加上这两行,codename自己改下,16.04就是xenial
  deb http://nginx.org/packages/ubuntu/ codename nginx
  deb-src http://nginx.org/packages/ubuntu/ codename nginx
$ wget --quiet -O - https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install nginx

安装postgres(参考)

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install postgresql-9.6

安装ruby

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.4 ruby2.4-dev