linux初步服务配置

配置操作小记

ubuntu 服务器的初步安全配置,操作记录备忘。

作业环境

  • 系统版本:ubuntu 16.04
  • 服务器环境:vps

step one -登录

通过vps面板提供的服务器相关信息,从终端使用ssh登录到vps:

1
ssh root@your_server_ip

更改vps初始密码:

1
passwd

确认更变的密码

step two -创建新的用户

登录root帐号后,我们需要创建一个新用户,如以ian为例:

1
adduser -d /home/ian -s /bin/bash -m ian

上述命令中,参数d指定用户的主目录,参数s指定用户的shell,参数m表示如果该目录不存在,则创建该目录。

更新用户密码:

1
passwd

step three -用户sudo权限

给新添加的用户sudo权限

1
usermod -aG sudo ian

step four -添加公钥认证

在本地电脑上生成密钥对:

1
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_vultr_$(date +%Y-%m-%d) -C "Vultr key for abc corp clients"

1024 位或低于它的 DSA 和 RSA 加密是很弱的,请不要使用。当考虑 ssh 客户端向后兼容性的时候,请使用 RSA密匙代替 ECDSA 密匙。所有的 ssh 密钥要么使用 ED25519 ,要么使用 RSA,不要使用其它类型。
另外一个示例:

1
ssh-keygen -t ed25519 -C "Login to production cluster at xyz corp"

上传公钥至vps

使用命令:

1
2
3
ssh-copy-id -i ~/.ssh/~/.ssh/id_rsa.pub user@host
or
ssh-copy-id user@remote-server-ip-or-dns-name

远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。

不使用上面的命令也可以使用以下命令实现:

1
ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

这条命令由多个语句组成,依次分解开来看:

  • “$ ssh user@host”,表示登录远程主机;
  • 单引号中的mkdir .ssh && cat >> .ssh/authorized_keys,表示登录后在远程shell上执行的命令:
  • “$ mkdir -p .ssh”的作用是,如果用户主目录中的.ssh目录不存在,就创建一个;
  • ‘cat >> .ssh/authorized_keys’ < /.ssh/id_rsa.pub的作用是,将本地的公钥文件/.ssh/id_rsa.pub,重定向追加到远程文件authorized_keys的末尾。

配置密钥登录

打开远程主机,检查/etc/ssh/sshd_config文件如下所示:

1
2
3
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启远程主机的ssh服务

1
sudo systemctl restart ssh.service

注意事项

如果在配置过程中更改过ssh的默认端口号,一定要记得在防火墙上放通更变后的端口。以ubuntu为例,放通端口命令如下所示:

1
sudo ufw allow 已更变的端口号

linux初步服务配置
https://ywmy.xyz/2018/08/06/linux初步服务配置/
作者
ian
发布于
2018年8月6日
许可协议