登录服务器

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

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

  1. $ ssh root@120.78.67.160
  2. root@120.78.67.160's password:
  3. Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)
  4. * Documentation: https://help.ubuntu.com
  5. * Management: https://landscape.canonical.com
  6. * Support: https://ubuntu.com/advantage
  7. Welcome to Alibaba Cloud Elastic Compute Service !
  8. Last login: Thu Jun 14 20:48:40 2018 from 182.240.11.214
  9. root@xing:~#

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

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

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

新建一个管理员

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

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

  1. root@xing:~# adduser manager
  2. Adding user `manager' ...
  3. Adding new group `manager' (1000) ...
  4. Adding new user `manager' (1000) with group `manager' ...
  5. Creating home directory `/home/manager' ...
  6. Copying files from `/etc/skel' ...
  7. Enter new UNIX password:
  8. Retype new UNIX password:
  9. passwd: password updated successfully
  10. Changing the user information for manager
  11. Enter the new value, or press ENTER for the default
  12. Full Name []: Liu Xing
  13. Room Number []:
  14. Work Phone []:
  15. Home Phone []:
  16. Other []:
  17. Is the information correct? [Y/n]

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

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

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

在命令行输入visudo 命令

  1. ...
  2. # Host alias specification
  3. # User alias specification
  4. # Cmnd alias specification
  5. # User privilege specification
  6. root ALL=(ALL:ALL) ALL
  7. manager ALL=(ALL:ALL) ALL # 加上这一行
  8. # Members of the admin group may gain root privileges
  9. ...

现在使用manger用户登录试试

使用ssh key无密码登录

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

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

  1. cd ~/.ssh
  2. ls -a

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

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

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

  1. manager@xing:~$ ssh-keygen -t rsa -C "chn.liuxing@gmail.com" # 一路回车
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/home/manager/.ssh/id_rsa):
  4. Created directory '/home/manager/.ssh'.
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /home/manager/.ssh/id_rsa.
  8. Your public key has been saved in /home/manager/.ssh/id_rsa.pub.
  9. The key fingerprint is:
  10. SHA256:Hf5Xyf71hT6FkXgw8dEzDbhNBCbR9x5fuAswWoIllt0 chn.liuxing@gmail.com
  11. The key's randomart image is:
  12. +---[RSA 2048]----+
  13. | o .oo+=+o.|
  14. | + o Eo=.o+o|
  15. | . + . O.+o|
  16. | . .o+.o B.+|
  17. | S+oo . B=|
  18. | . .. +o+|
  19. | ..o+o|
  20. | oo =|
  21. | ..o|
  22. +----[SHA256]-----+

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

  1. cd .ssh
  2. touch authorized_keys

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

  1. chmod 600 authorized_keys

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

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

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

vim

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

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

更多参考资料