登录服务器

上一节我们已经选购好域名和服务器,并且简单的介绍了下如何连接服务器。我已经将之前买的一个阿里服务器重置了,这节开始咱们一步一步来配置服务器 (本教程使用的是Mac 自带的ssh功能)

先回顾一下上一节的如何连接服务器的

$ ssh root@120.78.67.160
root@120.78.67.160's password:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Welcome to Alibaba Cloud Elastic Compute Service !

Last login: Thu Jun 14 20:48:40 2018 from 182.240.11.214
root@xing:~#

可以输入df -hl 命令查看磁盘的情况

root@xing:~# df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M  2.9M  393M   1% /run
/dev/vda1        40G  1.6G   36G   5% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M     0  396M   0% /run/user/0

你可以先使用 apt-get updateapt-get upgrade 命令来升级下软件。

新建一个管理员

对于linux来说,root 这个用户权限实在是太高了,如果误删那就悲剧了。所以我们需要新建一个权限低点的用户来操作服务器。在使用需要管理员权限时加上sudo命令。

使用adduser XX命令新建一个名为manager的用户

root@xing:~# adduser manager
Adding user `manager' ...
Adding new group `manager' (1000) ...
Adding new user `manager' (1000) with group `manager' ...
Creating home directory `/home/manager' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for manager
Enter the new value, or press ENTER for the default
    Full Name []: Liu Xing
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n]

使用gpasswd 命令前面创建的manager用户加到 sudo 组

root@xing:~# gpasswd -a manager sudo
Adding user manager to group sudo

现在来给manager用户添加root权限,sudo可以让普通用户拥有root权限去执行命令,sudo的配置文件是/etc/sudoers,我们修改这个文件,可以直接使用vim来更改,也可以直接使用visudo这个命令。

在命令行输入visudo 命令

...
# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
manager ALL=(ALL:ALL) ALL  # 加上这一行

# Members of the admin group may gain root privileges
...

现在使用manger用户登录试试

使用ssh key无密码登录

前面新建了manager 用户,每次登录只需要使用ssh 命令用户名加密码即可登录。就好像使用GIt和GItHub 配置公钥。

如果你有用GIt GitHub,那么你的电脑应该已经生成过SSH Key,在用户主目录下看看有没有.ssh文件夹,里面有 id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

cd ~/.ssh
ls -a

如果没有则使用以下命令创建

ssh-keygen -t rsa -C "chn.liuxing@gmail.com" # 你的eamil

同样在服务器上,我们也使用上面的命令来生成SSH Key

manager@xing:~$ ssh-keygen -t rsa -C "chn.liuxing@gmail.com" # 一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/home/manager/.ssh/id_rsa):
Created directory '/home/manager/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/manager/.ssh/id_rsa.
Your public key has been saved in /home/manager/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Hf5Xyf71hT6FkXgw8dEzDbhNBCbR9x5fuAswWoIllt0 chn.liuxing@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
|       o .oo+=+o.|
|      + o Eo=.o+o|
|     . +  .  O.+o|
|      . .o+.o B.+|
|        S+oo . B=|
|        .  .. +o+|
|            ..o+o|
|             oo =|
|              ..o|
+----[SHA256]-----+

进入.ssh目录,新建一个authorized_keys文件

cd .ssh
touch authorized_keys

在本地电脑的复制.ssh目录下的公钥即id_rsa.pub的内容复制到前面在服务器上建的authorized_keys文件里。现在我们还赋予 authorized_keys 文件权限

chmod 600 authorized_keys

接下来就是见证奇迹的时刻,还是在本地使用ssh 命令连接服务器

ssh manager@120.78.67.160 #ssh 用户名@服务器IP

这时没有再要你输入密码,而是直接连接上了服务器。

vim

在linux下,vim这个编辑器经常用到。对vim初学者,vim提供了vimtutor快速教程,直接在终端输入(windows用户请使用GIt bash)

$ vimtutor  # 如果不是中文加个zh参数  vimtutor zh

更多参考资料