本文记录了VPS下的基础配置过程,包括科学上网、安全等方面的内容
用户组管理
在root用户下,使用如下的指令,创建新用户,并添加用户到sudoers
1 | useradd -m username (-m stand for create home) -s /bin/bash (指定用户登入后所使用的shell,默认值为/bin/bash。最好手动指定) |
以后使用username
(你的用户名)登录就OK了,需要使用root
权限时利用sudo
就行了
更改当前用户密码:
1 | $ passwd |
更改某个用户的密码,此时需要登录到root用户,
1 | $ passwd username |
关于如何删除用户,可以参考:Deleting/Removing a User Account with His/Her Home Directory
配置公钥和私钥
Windows
- 下载并运行
PUTTYGEN.EXE
- 选择默认的 RSA 加密即可,并点击Generate,此时需要鼠标在空白处随机移动
- 生成好后,分别保存公钥和私钥,这里可以选择使用密码,如果选择使用密码,则在验证key的时候需要输入密码,增强的安全性
- 注意公钥的保存格式如下,其中 ssh-rsa 为加密类型, showfom-rsa-key-20130701 为说明,可以是任意文本,如 showfom-notebook
1
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdwHEmT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzUXDbE34Y/nxy1/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3681+hEFM7mpoYyqrCVBpARfiiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2hciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu4C7BF3ZafD4mEupA7P90RRUjLj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ== showfom-rsa-key-20130701
- 上传至服务器。编辑
~/.ssh/authorized_keys
文件,粘贴public key的内容。
在mac或者Linux可以直接采用ssh-copy-id将public key传输到远端VPS。
1 | ssh-copy-id username@remote_host (copy the public keys to the remote server) |
- 使用ssh key登录
PUTTY
中在Connection-ssh-Auth
中设置使用的私钥,如下图:
winscp的设置和putty类似,两者可以使用相同的私钥
2. Linux, Mac可以直接使用ssh指令登录
1 | ssh username@remote_host |
也可以在本机.ssh
目录下的config中配置VPS的别名,以后就可以直接使用ssh + 别名
进行登录
确保能够通过ssh key登录后,关闭ssh密码登录
使用命令vim /etc/ssh/sshd_config
,找到如下行进行设置1
2
3
4
5port 12345 #修改默认端口
PermitRootLogin no #禁止root登录
PermitEmptyPasswords no #禁止空密码
PasswordAuthentication no #禁止密码登录
AllowUsers username ##允许你自己的用户登录重启SSH使配置生效
1 | service ssh restart |
此部分主要介绍了windows下配置ssh key的方法,如果不想配置,可以通过修改端口号到22333等五位数的端口和禁止root用户登录来增加安全性,不过为了最大程度上确保安全,还是使用ssh key的方式登录。注意保管好自己的ssh私钥
Linux/Mac
可以参考Connect to a server by using SSH on Linux or Mac OS X 进行配置。
Shadowsocks科学上网
- Ubuntu下安装shadowsocks
1
2apt-get install python-pip
pip install shadowsocks - 修改配置文件
vi /etc/shadowsocks.json
,配置文件范例如下:
图中只需要修改server
以及port_password
两项,上面是一个多端口的配置文件,可以为不同的端口分配不同的密码 - 后台运行shadowsocks,使用如下指令
1
2ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop如果启动报错,可以参考这里替换function name即可,Shadows启动报错undefined symbol EVP_CIPHER_CTX_cleanup。
Shadowsocks利用KCPTun加速, 可以参考如下的博客:
scp上传下载文件
如果在Mac/Linux下配置好ssh config之后,可以直接采用如下的指令来下载VPS上的文件到本地。其中vps
为你的VPS的Host
,这在.ssh
目录下的config
文件中可以进行配置。
1 | scp vps:/path/foo /home/user/Desktop # copy to local |
其他的scp操作可以参考manual。