记录一下的 Linux 服务器的基本操作方便查找:
以下命令都在 Centos 7 运行
添加用户
1 | 根用户执行 |
修改用户登录密码
1 | 根用户执行 |
禁止 root 用户远程登录
首先当然需要新建一个用户用于远程登录。
打开文件
1 | # 根用户编辑文件 |
把
1 | PermitRootLogin yes |
改为:
1 | PermitRootLogin no |
再重启 sshd 服务:
1 | # 根用户执行 |
退出登录,再用新创建的用户去登录。
如果需要 root
用户的时候可以通过 su
(switch user) 命令切换到 root
用户,或者将新创建的用户加入 sudo
列表中。
把用户加入 sudo
列表
编辑 /etc/sudoers
在 root ALL=(ALL) ALL
下新增需要新增权限的用户
1 | root ALL=(ALL) ALL |
使用 ssh 公钥登录
首先本机生成 ssh 公钥和私钥:
1 | $ ssh-keygen |
如果提示需要输入密码,输入你想要的密码即可。不输入密码也可以。
把公钥 ~/.ssh/id_rsa.pub
上传到服务器:
1 | ## 本机执行 |
把刚刚从客户端上传到服务器的公钥追加到 ~/.ssh/authorized_keys
文件中,如果没有这个文件则新建文件即可:
1 | ## 服务器执行 |
使用 root 用户编辑文件 /etc/ssh/sshd_config
:
1 | ## 服务器使用 root 执行 |
将下面的配置解除注释或者配置成下面这样样:
1 | PubkeyAuthentication yes |
使用 root 用户重启 sshd:
1 | $ systemctl restart sshd |
退出登录再用同一个用户登录,即提示需要输入刚刚生成 ssh key 时输入的密码:
1 | $ ssh [email protected] |
使用把用户加入到某个用户组中
1 | # 把用户 chris 转到 root 用户组中(一般不这样使用) |
注意:此时 chris 会离开原先的用户组,需要使用 -a
参数把用户追加到用户组:
1 | # 把用户 chris 追加到 root 用户组中 |
1 | # 查看用户在什么分组 |
chris 主组为 chris,另外还属于 root 组。
把用户移出分组
1 | $ gpasswd -d chris root |
或者编辑 /etc/group
文件
1 | $ vim /etc/group |
参考
Linux 修改 SSH 端口 和 禁止 Root 远程登陆