此时我们的初始条件是以 root
身份登陆到了远程服务器,远程服务器地址是 server_ip
。
接下来要配置的是禁止以 root
身份登陆,并改变 ssh
服务的端口号。
-
新建用户
insight
并将其添加到sudo
用户组adduser insight gpasswd -a insight sudo
-
打开
sshd
配置文件vim /etc/ssh/sshd_config
-
修改这两行:
Port 22 PermitRootLogin yes
改成:
Port 7348 PermitRootLogin no
-
重启
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
用户身份登陆。这样做的好处是提高了安全性。
服务器端按照以上方法设置,从本地连接到远程服务器的方法也相应地要改变。
-
以
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
输入密码即可。
-
上一小节中提到的方法是标准做法,但是每一次都这样输入,感觉比较繁琐,所幸有更好的方法。
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
-
当然,还有一种方法减少输入,那就是设置别名:
打开
~/.bashrc
或~/.zshrc
,添加这样一行:alias insight='ssh -p 7348 insight@server_ip'
保存文件之后,在终端
source
一下这个文件使设置生效:source ~/.bashrc # or ~/.zshrc
之后,输入
insight
即可快速登陆远程服务器。
这部分内容来自 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'
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
配置
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
使配置生效。 -
配置
vim
,使用 amix 的vimrc
首先,安装
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