1. SSH
首先要解决的是ssh的问题,毕竟服务器尝尝需要远程访问。
1.1 ssh key部署
使用密码登录ssh存在安全性的隐患,而且相对麻烦,因此最好使用ssh key进行认证:
ssh-copy-id user@server_ip
为了强化安全性,可以考虑仅用使用密码登录。具体方法为编辑/etc/ssh/sshd_config
文件,修改如下配置:
# 禁用密码验证
PasswordAuthentication no
# 启用密钥验证
RSAAuthentication yes
PubkeyAuthentication yes
# 指定公钥数据库文件
AuthorsizedKeysFile .ssh/authorized_keys
Further reading: https://wsgzao.github.io/post/ssh/
2. Shell
2.1 oh-my-zsh
我比较喜欢使用oh-my-zsh这个工具来替换默认的bash,因为这个工具提供了很多强大的功能,包括更加智能的自动补全,对git命令行工具更加完善的支持。其安装过程如下:
sudo apt-get update
sudo apt-get install zsh git wget
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
chsh -s /bin/zsh
# 注意这里也可以不进行reboot,重新登录也可以
sudo reboot
Further reading: https://www.jianshu.com/p/546effd99c35
2.2 jump
jump是我今年才发现的一个非常有用的目录跳转工具。这个工具可以建立起我们曾经访问的目录的一个数据库,然后可以通过模糊搜索的方式匹配到这些路径,从而方便我们在常用路径中便捷地来回切换。例如我们如果经常访问/home/user/projects/one-project/submodule
,那么只需要输入j sub
就可以跳转过去了。jump的安装方法如下:
wget https://github.com/gsamokovarov/jump/releases/download/v0.21.0/jump_0.21.0_amd64.deb
sudo dpkg -i jump_0.21.0_amd64.deb
安装完成后,jump还需要集成到shell中。这需要编辑shell的配置文件(~/.zshrc
或者~/.bashrc
),在其中加入
eval "$(jump shell)"
3. 用户管理
这里列出一些常用的用户管理操作:
- 创建用户
sudo adduser user
- 为用户添加sudo权限
sudo adduser user sudo
- 列出所有用户
cut -d: -f1 /etc/passwd
Further read: https://askubuntu.com/questions/410244/a-command-to-list-all-users-and-how-to-add-delete-modify-users