【ubuntu16.04服务器登陆配置】新建管理员用户、禁用root登陆、密钥登陆配置

需求:快速安全进入服务器的配置

我在阿里云上购买了一台轻量应用服务器,使用ssh密码登陆很费时,以及用root用户操作涉及很多后患,所以需要进行无密登陆、新增管理员用户等操作的配置

服务器配置:ubuntu16.04

本地:maxos 10.12.16

ssh登陆方式:$ssh -p 22 [email protected]  输入密码即可进入服务器

(如果你的本地ssh都没有,请先安装好)

1 新建管理员用户

新建用户,根据提示输入密码(我这里建了一个用户名为mao

adduser mao

  修改权限文件,

vim /etc/sudoers

添加这一行,这样就把新用户mao变成了管理员用户了

mao ALL=(ALL:ALL) ALL

 ps :新建用户有两个命令一个useradd一个adduser,区别在于adduser会一次性把用户组之类的全自动新建,而useradd都需要自己配置,所以用adduser

2 禁用root登陆

配置文件

服务器是: /etc/ssh/sshd_config

客户端是: /etc/ssh/ssh_config

禁用Root:

修改服务器端的etc/ssh/sshd_config 文件 

将PermitRootLogin yes

改为PermitRootLogin no

PermitRootLogin no

重启服务器 然后尝试root登陆发现ok permission deneid

使用刚刚新建的管理员用户登陆

3 配置无密登陆

参考 How To Set Up SSH Keys on Ubuntu 16.04

3.1 本地生成ssh key

无密登陆的方式其实和git配置ssh key一样,关键就是ssh key。

如果你以前配置或生成或sshkey那么就不用重新生成,我是mac用户(linux同),ssh key的存放路径在~/.ssh下,使用

$ls -a

可以查看这个隐藏文件是否存在,如果存在,里面应该有id_rsa 和  id_rsa.pub 

不存在也没关系,我们生成一下,生成的密钥对路径在~/.ssh

$ssh-keygen

3.2 把公钥上传到ubuntu服务器上

参考里有两种方式, 一个是ssh-copy-id 一个是ssh命令,我直接使用的是第二种Copying Public Key Using SSH(对第一种感兴趣的可以去看参考)

We can do this by using the cat command to read the contents of the public SSH key on our local computer and piping that through an SSH connection to the remote server.

完整命令如下,username和remotehost换成你自己的,回车就ok了

$cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

然后我们退出服务器重新ssh -p 22 username@host发现不用输入密码就自动进入服务器了。

于是第一步快速安全进入服务器的配置就大功告成啦~

 

你可能感兴趣的:(ubuntu,服务器,运维)