zoukankan      html  css  js  c++  java
  • (1)远程管理线上服务之sshd服务

    任务背景
    为了最大程度的保护公司内网服务器的安全,公司内部有一台服务器做跳板机。运维人员在维护过程中首先要统一 登录到这台服务器,然后再登录到目标设备进行维护和操作。由于开发人员有时候需要通过跳板机登录到线上生产 环境查看一些业务日志,所以现在需要运维人员针对不同的人员和需求对账号密码进行统一管理,并且遵循权限最 小化原则

    任务要求

    1. 跳板机上为每个开发人员创建一个账号,并且只能在指定的目录里管理自己的文件,不能删除别人的文件。 (跳板机完成)
    2. 线上生产服务器,禁止使用root用户远程登录。(生产服务器完成)
    3. 线上生产服务器sshd服务不允许使用默认端口,防止黑客进入端口扫描。(生产服务器完成)
    4. 线上生产服务器的业务用户的密码使用工具随机生成。(生产服务器完成)
    5. 开发人员可以使用业务用户pos1登录线上环境来查看日志(/pos/logs/xxx
      涉及知识点
      用户权限管理(旧知识点)
      ssh服务配置(新知识点)
      生成随机密码工具(新知识点)

    具体实施
    创建用户:kai1-kai3

    1. 创建用户并给相应权限
      [root@www ~]# useradd kai1
      [root@www ~]# useradd kai2
      [root@www ~]# useradd kai3
      使用非交互式设置密码:
      [root@www ~]# echo 123 |passwd --stdin kai1
      更改用户 kai1 的密码 。
      passwd:所有的身份验证令牌已经成功更新。
      [root@www ~]# echo 123 |passwd --stdin kai2
      更改用户 kai2 的密码 。
      passwd:所有的身份验证令牌已经成功更新。
      [root@www ~]# echo 123 |passwd --stdin kai3
      更改用户 kai3 的密码 。
      passwd:所有的身份验证令牌已经成功更新。
      创建相应的目录给开发人员使用:
      [root@www ~]# mkdir /home/gongzuo
      [root@www ~]# cd /home
      [root@www home]# ls
      gongzuo
      创建gongzuo组 并且将kai1-kai3成员加入其中:
      [root@www home]# groupadd gongzuo
      [root@www home]# usermod -G gongzuo kai1
      [root@www home]# usermod -G gongzuo kai2
      [root@www home]# usermod -G gongzuo kai3
      [root@www home]# id kai3
      uid=1003(kai3) gid=1003(kai3) 组=1003(kai3),1004(gongzuo)
      也可以使用
      [root@www home]# gpasswd --help
      用法:gpasswd [选项] 组

    选项:
    -a, --add USER 向组 GROUP 中添加用户 USER
    -d, --delete USER 从组 GROUP 中添加或删除用户
    -h, --help 显示此帮助信息并推出
    -Q, --root CHROOT_DIR 要 chroot 进的目录
    -r, --delete-password remove the GROUP's password
    -R, --restrict 向其成员限制访问组 GROUP
    -M, --members USER,... 设置组 GROUP 的成员列表
    -A, --administrators ADMIN,... 设置组的管理员列表

    查看
    [root@www home]# tail /etc/group

    gongzuo❌1004:kai1,kai2,kai3

    更改目录权限:

    [root@www home]# chgrp gongzuo gongzuo/
    [root@www home]# ls
    gongzuo kai kai1 kai2 kai3
    [root@www home]# ll
    总用量 0
    drwxr-xr-x. 2 root gongzuo 6 12月 24 16:37 gongzuo
    [root@www home]# chmod g+w gongzuo/
    权限最小化:

    [root@www home]# chmod o+t gongzuo/ 或者 [root@www home]# chmod 1775 gongzuo/

    [root@www home]# ll
    总用量 0
    drwxrwxr-t. 2 root gongzuo 6 12月 24 16:37 gongzuo

    1. 线上生产服务器,禁止使用root用户远程登录。(生产服务器完成)

    ssh 客户端工具的使用

    ssh --help man ssh

    [user@]hostname [command]

    [root@www home]# ssh IP
    [root@www home]# ssh 用户名@IP

    注意: 当前本机用户是root,如果不指定连接用户,那么会让你输入远程主机的root密码。 如果指定了连接用户pos1,那么不管你当前是什么用户就只让你输入远程主机的pos1用户密码。

    [root@www home]# ssh -l kai -p 22 10.1.1.93

    -l:指定连接用户 -p:指定端口

    scp命令:远程拷贝
    用法:
    将本地文件拷贝到远程:
    scp 需要拷贝的文件 远程服务器
    scp file1 pos1@10.1.1.1:/tmp/

    将远程文件拷贝到本地:
    scp 远程文件 本地路径
    scp -r pos1@10.1.1.1:/tmp/dir1 /data/code

    -r:递归拷贝目录

    [code1@jumper-server code]$ scp file1 pos1@10.1.1.1:/tmp
    pos1@10.1.1.1's password:
    file1 100% 0 0.0KB/s 00:00
    [code1@jumper-server code]$ ll
    total 0
    -rw-rw-r-- 1 code1 code1 0 Aug 26 10:43 file1
    -rw-rw-r-- 1 code2 code2 0 Aug 26 10:44 file2
    [code1@jumper-server code]$ scp 10.1.1.1:/tmp/aaa .
    code1@10.1.1.1's password:
    [code1@jumper-server code]$ scp pos1@10.1.1.1:/tmp/aaa .
    pos1@10.1.1.1's password:
    scp: /tmp/aaa: not a regular file
    [code1@jumper-server code]$ scp -r pos1@10.1.1.1:/tmp/aaa .
    pos1@10.1.1.1's password:
    hosts 100% 158 0.2KB/s 00:00 [code1@jumper-server code]$ ll
    total 4
    drwxr-xr-x 2 code1 code1 4096 Aug 26 11:45 aaa
    -rw-rw-r-- 1 code1 code1 0 Aug 26 10:43 file1
    -rw-rw-r-- 1 code2 code2 0 Aug 26 10:44 file2

  • 相关阅读:
    Yii增删改查
    10个超级有用、必须收藏的PHP代码样例
    yii源码分析I、II
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    当浏览器输入url的时候发生了什么
    js模块化值之seaJS
    js判断字符串中的英文和汉字
    display:table-cell的惊天作用,直接惊呆你!
  • 原文地址:https://www.cnblogs.com/kai0438/p/12095148.html
Copyright © 2011-2022 走看看