Table of Contents
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 通过跳板机访问服务器
- ssh如何通过跳板机直接访问到后端服务器(Mac&Linux&Windows解决方案)
- SSH agent forwarding 的應用 虽然不是跳板机,但是要 agent forward 的可以看看这个
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:
Digital Ocean 机房迁移
- 要迁移的 Droplet 关机,然后点击 Image -> Take a Snapshot
- 点击那个小地球,选择要迁入的机房,点击 transfer,等待完成
- Creat, 在 Select Image 时,点击 My Images, 选择之前做好准备的镜像就可以了
Reference:
重新开始
上传公钥
$ ssh-copy-id user@server.ip
服务器生成ssh key来拉取github repo(参考):
$ ssh-keygen -t rsa -b 4096 -C "[email protected]" $ 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