zoukankan      html  css  js  c++  java
  • 安全也挺让人心烦的 ---login shell

      今天查问题时, ssh 登录后台发现 需要输入密码,输入密码后弹出一个二维码, 然后扫码获取秘钥。输入秘钥登陆!!!

    真是恶心了一把,找手机都花了不少时间!!!!

      那么怎样干掉输入密码这些操作呢???

    所以需要思考一番!!!!

    man 文档中有 When  bash is invoked as an interactive login shell, or as a non-inter‐ active shell with the --login option, it first reads and executes  com‐mands  from  the file /etc/profile, if that file exists.  After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,in  that order, and reads and executes commands from the first one that exists and is readable.  The --noprofile option may be  used  when  the  shell is started to inhibit this behavior. When  a  login  shell  exits, bash reads and executes commands from the files ~/.bash_logout and /etc/bash.bash_logout, if the files exists.When an interactive shell that is not a login shell  is  started,  bash reads  and executes commands from ~/.bashrc, if that file exists.  This may be inhibited by using the --norc option.  The --rcfile file  option will  force  bash  to  read  and  execute commands from file instead of ~/.bashrc.
    意思是啥呢??

    也就是说登录后, 首先执行的是 /etc/profile; 然后执行各种 bash 啥;
    root:x:0:0:root:/root:/bin/bash

    在 passed 文件中, 最后一行有个 bash,此时表示的意思是,用户登录后,启动一个进程,但是负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell,

    所以:

    我们只需要看下 passwd 中的 /bin/bash 是不是被修改了, 然后创建 profile 并且执行bash

    就可以绕过这些麻烦的校验;

    也就是登陆后 会跑xxx.sh脚本

    执行xxx.sh脚本过程中先执行 profile

    然后执行 login_shell_cli  ---这里面会要求各种校验。二维码审核啥的

    所以直接 在profile 中添加sh/bash 执行, 进入  控制台------------------------------------------

  • 相关阅读:
    我的腾讯云服务器被暴力破解了
    asp.net 动态运用webservice并设置超时时间
    Elasticsearch7.4 spring boot 使用 RestHighLevelClient实现searchAfter分页
    华为OD机试题
    获取某日期后一周、一月、一年的日期 php
    PHP 读取文件夹(比如某共享文件夹)中的图片并显示
    php 获取某文件夹(比如共享文件夹)下图片并下载并压缩成zip
    数据库集群简单概念
    java数据流
    SpringBoot使用切面+注解实现对所有请求的日志记录到数据库中
  • 原文地址:https://www.cnblogs.com/codestack/p/13160854.html
Copyright © 2011-2022 走看看