Skip to content

Instantly share code, notes, and snippets.

@pkuphy
Last active June 19, 2016 08:58
Show Gist options
  • Save pkuphy/f359f28e90907485c310 to your computer and use it in GitHub Desktop.
Save pkuphy/f359f28e90907485c310 to your computer and use it in GitHub Desktop.
Things to do after launching a new server

服务器基础环境配置

1. 配置 ssh 登陆

服务器端

此时我们的初始条件是以 root 身份登陆到了远程服务器,远程服务器地址是 server_ip。 接下来要配置的是禁止以 root 身份登陆,并改变 ssh 服务的端口号。

  1. 新建用户 insight 并将其添加到 sudo 用户组

     adduser insight
     gpasswd -a insight sudo
    
  2. 打开 sshd 配置文件

     vim /etc/ssh/sshd_config
    
  3. 修改这两行:

     Port 22
     PermitRootLogin yes
    

    改成:

     Port 7348
     PermitRootLogin no
    
  4. 重启 ssh 服务

     service ssh restart
    

    重启服务之后,我们可以看到 ssh 监听的端口发生了变化

     # netstat -nltp
    
     tcp    0    0    0.0.0.0:7348    0.0.0.0:*    LISTEN    1234/sshd
    

这样设置之后,禁止以 root 用户的登陆服务器,并将默认 ssh 端口号从 22 改成了 7348, 以后登陆服务器的时候以 insight 用户身份登陆。这样做的好处是提高了安全性。

客户端

服务器端按照以上方法设置,从本地连接到远程服务器的方法也相应地要改变。

  1. insight 用户身份用上面设置的端口号登陆远程服务器:

     ssh -p 7348 insight@server_ip
    

    此时如果尝试以 root 用户登陆,会遇到 Permission denied 的错误; 如果不指定端口,ssh 会以默认 22 端口连接,会遇到 Connection refuesd 的错误。

    登陆之后,如果需要 root 权限,因为之前已经把 insight 用户加进了 sudo 组,直接在 命令之前加上 sudo 即可,比如:

     sudo vim /etc/hosts
    

    如果要切换到 root 用户:

     su - root
    

    输入密码即可。

  2. 上一小节中提到的方法是标准做法,但是每一次都这样输入,感觉比较繁琐,所幸有更好的方法。

     vim ~/.ssh/config
    

    添加:

     Host insight
       HostName server_ip
       User insight
       Port 7348
    
     Host *
       TCPKeepAlive yes
       ServerAliveInterval 60
       ServerAliveCountMax 120
    

    第一部分指定了远程服务器的 IP、端口号和登陆用户名,并为这一配置设定了名字叫做 insight;第二部分的作用是防止断线(具体每一项设置的含义请 Google)。

    设置过 ~/.ssh/config 文件后,即可以这样的方式快速登陆:

     ssh insight
    
  3. 当然,还有一种方法减少输入,那就是设置别名:

    打开 ~/.bashrc~/.zshrc,添加这样一行:

     alias insight='ssh -p 7348 insight@server_ip'
    

    保存文件之后,在终端 source 一下这个文件使设置生效:

     source ~/.bashrc  # or ~/.zshrc
    

    之后,输入

     insight
    

    即可快速登陆远程服务器。

2. 创建 swap 分区

这部分内容来自 Digital Ocean tutorial。此处不写详细说明,只 copy 代码:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

3. 时区

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. bashrcvim 配置

  1. 配置 bashrc,主要是历史纪录和 PS1 提示符,打开 ~/.bashrc,添加下面几行:

     PROMPT_COMMAND='history -a'
     HISTSIZE=100000
     HISTFILESIZE=200000
     export PS1="\[\e]0;\u@\h: \w\a\]\[$(tput setaf 3)$(tput bold)\][\[$(tput setb 4)\]\t \W\[$(tput sgr0)$(tput bold)$(tput setaf 3)\]]\\$\[$(tput sgr0)\] "
    

    保存之后 source ~/.bashrc 使配置生效。

  2. 配置 vim,使用 amixvimrc

    首先,安装 git

     sudo apt-get install git
    

    然后

     git clone git://github.com/amix/vimrc.git ~/.vim_runtime
     sh ~/.vim_runtime/install_basic_vimrc.sh
    

    设置显示行号:

     vim ~/.vimrc
    
     set number
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment