精华内容
下载资源
问答
  • 思科设备SSH登陆详细配置过程

    万次阅读 多人点赞 2017-04-30 11:51:49
    思科设备SSH登陆详细配置过程我们用GNS3进行拓扑搭建。实验拓扑图如下: 进行完基本配置之后开始配置SSH服务器(R2) 首先验证设备是否支持SSH R2#show ip ssh 能够识别这条命令就说明支持。 配置IP域名。 ...

    思科设备SSH登陆详细配置过程

    我们用GNS3进行拓扑搭建。

    实验拓扑图如下:
    这是实验拓扑图

    进行完基本配置之后开始配置SSH服务器(R2)

    1. 首先验证设备是否支持SSH
      R2#show ip ssh
      这里写图片描述
      能够识别这条命令就说明支持。

    2. 配置IP域名。
      使用config# ip domain-name domain-name
      全局配置模式命令配置网络 IP 域名。

    3. 生成 RSA 密钥对。
      生成 RSA 密钥对将自动启用 SSH。使用 config#crypto key generate rsa 全局配置模式命令在交换机上启用 SSH 服务器并生成 RSA 密钥对。当生成 RSA 密钥时,系统会提示管理员输入模数长度。模数长度越长越安全,但生成和使用模数的时间也越长。

      PS:并非所有的设备都支持SSH版本2,并且至少需要768bits的模长才能使用版本2。
      这里写图片描述
      要删除 RSA 密钥对,请使用 crypto key zeroize rsa 全局配置模式命令。删除 RSA 密钥对之后,SSH 服务器将自动禁用。

    4. 配置用户身份验证。
      SSH登陆需要用户名和密码,所以必须要配置用户。
      SSH 服务器可以对用户进行本地身份验证或使用身份验证服务器。要使用本地身份验证方法,请使用 username 用户名 secret 密码 全局配置模式命令创建用户名和密码对。

    5. 配置 vty 线路。
      在vty线路配置模式下使用 transport input ssh 命令启用 vty 线路上的 SSH 协议。Catalyst 2960 的 vty 线路范围为 0 到 15。该配置将阻止除 SSH 之外的连接(如 Telnet),将交换机设置为只接受 SSH 连接。然后使用 login local 线路配置模式命令来要求从本地用户名数据库进行 SSH 连接的本地身份验证。

    至此配置登陆的过程已经完成,下面来测试连接。
    从R1登陆R2
    这里写图片描述

    当然如果想要进入特权模式,还需要为特权模式设置密码。
    还有:

    R2(config)#ip ssh time-out 120     //修改超时时间
    R2(config)#ip ssh authentication-retries 1     //修改重认证次数。
    R2(config)#ip ssh version 2          //修改版本

    最后附上配置命令:

    R2(config)#ip domain-name man.com   //配置域名为man.com
    R2(config)#crypto key generate rsa   //生成加密密钥
    R2(config)#username man secret cisco   //在本地创建一个用户名为man并且加密密码为cisco的用户。
    R2(config-line)#transport input ssh      //启用SSH登陆
    R2(config-line)#login local                  //采用本地验证
    展开全文
  • 1.原理就是用户登陆成功后往redis写一个唯一的token,每次用户登陆都会把之前的删除掉,生成新的token. 2.假如用户之前在本地环境登陆了,然后又去测试环境登陆成功后,你再点击之前的本地的我的账户的话,之前的...

    1.原理就是用户登陆成功后往redis写一个唯一的token,每次用户登陆都会把之前的删除掉,生成新的token.

    2.假如用户之前在本地环境登陆了,然后又去测试环境登陆成功后,你再点击之前的本地的我的账户的话,之前的本地的

    token就失效了,就会有提示

    展开全文
  • 第一次用户登陆时生成UUID随机数作为token 查数据库获取用户信息 保存redis中 key token value 用户iduserId, 同时保存 key userId ,value用户基本信息实体其中包含token字段息, 返回用户基本信息,每次请求时...
     思路:
        第一次用户登陆时生成UUID随机数作为token 查数据库获取用户信息 保存redis中  key token value 用户iduserId,
     同时保存 key userId ,value用户基本信息实体其中包含token字段息, 返回用户基本信息,每次请求时传token去查redis中是否存在
    当第二次登陆时 先查数据库获取userId 拿到userId去redis里查询用户实体是否存在,存在说明之前登陆过,拿到其中token,根据key token删除保存在redis中的信息,redis保存新的 key token  和 key userId 
    

    登陆逻辑token处理

    /**
     * 登陆处理
     * @param lmUserEntity
     * @return
     * @throws Exception
     */
    public String handleLogin(LmUserEntity  lmUserEntity) throws Exception {
        LmUserEntity info = this.getUserByUserId(lmUserEntity.getUserId());
        if (info != null) {
            this.delToken(info.getToken());
            logger.info("清除原登陆token:"+info.getToken());
        }
        String token=this.setLoginToken(lmUserEntity.getUserId());
        logger.info("生成token:"+token);
        lmUserEntity.setToken(token);
        this.setUserByUserId(lmUserEntity);
        return token;
    }
    用户实体
    public class LmUserEntity implements Serializable {
       private static final long serialVersionUID = 1L;
       
       //
       private Integer id;
    private String token;
    //手机号
    private String userMobile;
    //姓名
    private String userName;
    //账号登录密码
    private String userPassword;
    
    /**
    拦截器
    */
    
    @Configuration
    public class AddInterceptorsConfig implements WebMvcConfigurer {
        private CorsConfiguration buildConfig() {
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            corsConfiguration.addAllowedOrigin("*"); // 1
            corsConfiguration.addAllowedHeader("*"); // 2
            corsConfiguration.addAllowedMethod("*"); // 3
            return corsConfiguration;
        }
    
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", buildConfig());
            return new CorsFilter(source);
        }
        @Bean
        public HandlerInterceptor getInterceptor() {
            return new LoginInterceptor();
        }
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
    
    
            registry.addInterceptor(getInterceptor())
                    .addPathPatterns("/user/**"); 
        }
    
    }
    

     

     

     

     

    public class LoginInterceptor implements HandlerInterceptor{
        private static Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
        @Autowired
        private TokenRedisUtils tokenUtils;
    
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            String token=request.getHeader("tokenStr");
            response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
            if (StringUtils.isBlank(token)){
                logger.info("未获取到tokenStr");
                //用户未登录
                response.getWriter().print(JSONObject.toJSON(ResultDto.hasCodeFail("token失效","204")));
                return false;
            }else {
               Object o= tokenUtils.getLoginToken(token);
                if(null==o){
                    logger.info("未查询到token记录:"+token);
                    //登录失效
                    response.getWriter().print(JSONObject.toJSON(ResultDto.hasCodeFail("token失效","204")));
                    return false;
                }
                LmUserEntity userEntity=tokenUtils.getUserByToken(o.toString());
                if (userEntity ==null ){
                    logger.info("未查询到用户信息token:"+token+",userId:"+o.toString());
                    response.getWriter().print(JSONObject.toJSON(ResultDto.hasCodeFail("token失效","204")));
                    return false;
                } 
            }
            return true;
        }

     

    public String setLoginToken(String userId) throws Exception {
        String uuid = UUId.getUUid();
        redisService.set(LM_R_LOGIN + uuid, userId, 60*60*24*7);
        return uuid;
    }
    public boolean setUserByUserId(LmUserEntity userEntity) throws Exception {
        return redisService.set(LM_R_LOGIN + userEntity.getUserId(), JSON.toJSONString(userEntity),60*60*24*7);
    }
    展开全文
  • Thinkphp下如何处理用户单设备登陆

    千次阅读 2016-12-23 18:16:40
    Thinkphp下如何处理用户单设备登陆注意这个问题不是单点登陆,而是当一个用户登陆时,同一个账号登陆要踢掉前面已登陆的账号思路 首先将默认的session写入数据库 最初处理这块出了很多问题,换成Thinkphp最新的包就...

    Thinkphp下如何处理用户单设备登陆

    注意这个问题不是单点登陆,而是当一个用户登陆时,同一个账号登陆要踢掉前面已登陆的账号

    思路

    • 首先将默认的session写入数据库
      • 最初处理这块出了很多问题,换成Thinkphp最新的包就解决了,估计是原来引用的Thinkphp版本太老
      • 另外本机的php版本太高缺少mysql驱动,要在conf中设置为mysqli
      • 同理’SESSION_TYPE’ => ‘Mysqli’,这里也要设置成Mysqli 也就是ThinkPHP\Library\Think\Session\Driver\Mysqli.class.php 这个文件,如果没有就去找最新版本的库吧。
    • 加入userid
      • 改动数据库脚本加入userid字段
      • 调试时本希望在Mysqli.class.php的write方法中获取这个值,结果反序列化总是不成功,于是改为登陆时手动写入数据库
      • 不确定write方法的触发条件,而且该sql脚本并不是更新,而是每次都执行了整行替换,因此需要在replace into之前取到userid。嵌入select的方式没成功,估计是某一步被抹掉了。换手动查询,成功写入。
    • 登陆处理
      • 删除已经登陆的user session
      • 设置当前session的user

    代码

    Mysqli

        public function write($sessID, $sessData)
        {
            $hander = is_array($this->hander) ? $this->hander[0] : $this->hander;
            $expire = time() + $this->lifeTime;
    
            $userid=null;
            $res = mysqli_query($hander, "SELECT user_id FROM " . $this->sessionTable . " WHERE session_id = '$sessID' ");
            if ($res) {
                $row = mysqli_fetch_assoc($res);
                $userid = $row['user_id'];      
            }
    
            if($userid){            
                mysqli_query($hander, "REPLACE INTO  " . $this->sessionTable . " (  session_id, session_expire, user_id, session_data)  VALUES( '$sessID', '$expire','$userid','$sessData')");
            }
            else{
                mysqli_query($hander, "REPLACE INTO  " . $this->sessionTable . " (  session_id, session_expire, session_data)  VALUES( '$sessID', '$expire','$sessData')");
            }       
            if (mysqli_affected_rows($hander))
                return true;
            return false;
        }

    登陆

        $sess = M("session");
        $sess->where('user_id='.$id)->delete();
        $sess->where("session_id='%s'",session_id())->setField('userid', $id);

    搞定

    展开全文
  • win10系统登陆提示“你的设备处于脱机状态..“解决方案 Technorati Tags: Technorati Tags: win10系统开机,设备脱机状态,Microsoft账号和密码,开源工作流引擎,驰骋.net工作流引擎,开源表单引擎,ccform,驰骋工作...
  • [img=https://img-bbs.csdn.net/upload/202008/08/1596857497_488612.png][/img] 已经去官网删除了所有信任的设备删除改mac清理注册表啥的都做了,多次测试依旧不给登陆,解除限制就是购买许可证。
  • 是因为在登录的时候,添加可信设备的时候选择了:是,添加可信设备。 而可信设备会算在上面设备数量限制内的,因此建议如果不是经常使用的设备请添加信任的时候选择:不,仅使用一次。 如果已经受到限制了怎么...
  • 先上封装的request代码啦~~~ 这个是借鉴网上的资料写的 我会把博主的链接放在本文最后,感兴趣的可以去看下啦 1.在项目根目录下建一个common 文件 然后写http.js ,如下图 2.然后在main.js文件中引入 i...
  • 伪造smbios设备信息原文网址:http://www.insanelymac.com/forum/topic/292170-how-to-spoof-real-mac-in-vmware/page-1前提:网络正常,DNS 正常,网页能登录 https://www.apple.com适用于, osx 中登录 app store ...
  • 伪造smbios设备信息 原文网址:http://www.insanelymac.com/forum/topic/292170-how-to-spoof-real-mac-in-vmware/page-1 前提: 网络正常,DNS 正常,网页能登录 https://www.apple.com 适用于, osx 中登录 app ...
  • 注册的时候能收到验证码,是因为谷歌对注册的要求限制不大,因为也会有华侨在国外使用+86的手机号码,但是后续的登陆的时候,谷歌检测到伪IP,或是来自国内的IP,就会出现二次验证。出现二次验证的机率很高。 第二个...
  • 苹果只允许在一个新的会员年刚开始时,才可以为开发者开启设备列表重置入口,其余的时间是不能删除已添加的UDID的。 新会员年开始之后,要主动联系苹果打开删除重置入口 1.登陆Agent账号,向苹果客服发送请求 ...
  • 从master设备删除临时数据库

    千次阅读 2012-04-20 17:31:19
    首先以单用户登陆   在windows平台,打开控制面板,管理工具,sqlserver服务启动,双击,填上-m参数   原理是创建一个新的数据库,然后从sysdatabases ,sysusages表里删除temdp数据库,它的bdid是2。查出新...
  • 已解决:TeamViewer使用的设备数量上限

    万次阅读 多人点赞 2020-08-01 17:19:21
    1、在浏览器打开Treamview官网登录,然后删除之前的信任设备重新登录还是出现上面提示。 2、使用“AlterID”更换ID,重新登录还是出现上面提示。 3、删除信任设备后用以前登录过的电脑登录成功 最终得出结论,你需要...
  • 桌面-->WIN键+R-->运行-->输入"rundll32 netplwiz.dll,UsersRunDll"--->回车后弹出"用户帐户"窗口,然后取消选定"要使用本机,用户必须输入用户名和密码"选项,单击确定,在弹出的对话框中输入你想让电脑每次自动...
  • 登陆teamviewer网站,登陆账号点击右上角的头像-->编辑配置文件 进入可信设备界面,删除多余的可信设备 进入免费设备界面,解绑多余的设备即可
  • One账户多设备同步的数据库设计

    千次阅读 2015-08-31 09:08:58
    在云同步中我想经常会遇到多设备的问题。简单来说就是用户通过一个账户连接到云,而后在任意可支持的设备登陆同一个账户能实现账户数据共享的目的。 In This,我将简单示范一种云端一个账户多设备同步的数据库...
  • -------------添加设备到provisioning-------------  1,登陆https://developer.apple.com/devcenter/ios/index.action  图1:    2,右侧菜单选择“iOS provisioning portal”(必须开发者账号才能看到...
  • 公司大了,总会遇到资源不足的情况。...机器,随便多加了几台机器就爆满了。测试部又买了新机器,没法...如果客服确认可以处理,就会把账号的机器列表重置为可以删除机器的状态,然后就可以做机器的清理了。
  • 设备管理信息系统

    万次阅读 多人点赞 2016-04-08 19:26:29
    设备管理系统 设备管理系统(Equipment Management System)是将信息化了设备技术信息与现代化管理相结合,是实现研究级管理信息化的先导。设备管理软件是设备管理模式与计算机技术结合的产物,设备管理的对象是...
  • 网络设备的配置自动保存,需要每台单独登陆,然后手动保存到指定目录。每台设备都需要至少2至3分钟时间才能完成操作,若是需要对几十上百台设备的配置进行保存,每台设备登陆方式、用户密码都不同的话,需要完成的...
  • 删除HP存储上的主机文件夹 分两部分,第一 先删除测试时建的Vdisk,第二删除Presentation中的主机节点,第三删除host folder 一 删除测试时建的Vdisk 1) Move Vdisk 2)选择Vdisk所在的文件的位置,...
  • 1、控制面板--》用户帐户--》选择“高级”选项,点击“管理密码”,删除对应的ip即可。2003操作系统,控制面板中选择“存储的用户名和密码”,在列表中删除相应的IP... ... 2、删除保存的远程连接(\\192.168.1.12\share
  • 公司大了,总会遇到资源不足的情况。...测试部又买了新机器,没法添加到列表中,这让人很心急啊!...如果客服确认可以处理,就会把账号的机器列表重置为可以删除机器的状态,然后就可以做机器的清理了。
  • CiSCO 交换机配置 SSH 登陆

    千次阅读 2017-03-10 23:37:00
    CiSCO 交换机配置 SSH 登陆 题目:在三层交换机上仅运行 SSH 服务,且用户名和密码的方式登录交换机。 (一)了解主机名与域名 ​ 1、"主机名" 设备的名称 ​ 2、"域名" 设备所属的所属者 (二)配置主机名...
  • 在移动端报表的使用过程中,可能会有用户需要经常变更移动设备,即需要移动设备的绑定与撤销,那么在具体的软件操作中该如何实现这一工作呢?本文以实例进行具体的操作示范,演示如何进行移动设备的绑定与撤销。
  • 需求是:要求PC和平板建立连接...为了解决这个问题,采用的方法是在B登录时,判断socket连接池里是否已有该id的socket连接,如果有则在B连接之前,先给这个id的socket发送消息,告知已在其他设备登陆,强制退出。 ...
  • 1、验证证书的有效性 PushMeBaby验证生产证书的时候,可以使用ADHot PP 证书打包。(在创建 Provisioning Profile 时,选择了 Ad Hoc 这个选项,这个只能用做分发,而不适用于真机调试。)deviceToken 需要重新获取#...
  • linux设备号详解

    千次阅读 2019-06-24 11:49:49
    linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序)。这些设备中,有些设备...
  • 实现功能: ...3、微信二维码事件,可以根据二维码的信息,用户扫码之后可以根据二维码记录的信息处理业务需求 4、使用微信公众号的二维码做PC端的扫码登陆,理论上是没问题的 思路一: 1、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,297
精华内容 23,318
关键字:

为什么删除了设备还可以登录