当前位置: 首页 > news >正文

perl脚本调用openssh不能正确执行(ctl_dir /root/.libnet-openssh-perl/ is not secure)的原因排查

在使用perl脚本的时候,通过Net::OpenSSH去获取执行节点的信息是一种常用的方法。在某个环境中,执行命令的时候出错,下面展示一下相关的代码

    my $ssh_ops = {user => "root", password => "password", master_opts => [-o => "UserKnownHostsFile=/dev/null", -o => "StrictHostKeyChecking=no"]};my $ssh = Net::OpenSSH->new($host_ip, %$ssh_ops);# while( my ($key,$value) = each %ssh) {#     if (defined $value) {#         print "\n==== debug: $key => $value\n";#     }        # }$ssh->error and return "fail: cann't access by ssh";

在这段代码执行的时候,直接返回“fail: cann’t access by ssh” 通过手动的方式进行验证,在当前节点通过ssh方式是可以正常登录指定节点的。

将注释的内容放开,进行调试,打印出如下信息:

==== debug: _error => ctl_dir /root/.libnet-openssh-perl/ is not secure==== debug: _host => 10.0.123.123

这个时候查看/root文件夹的权限

执行命令 :stat /root                                                                                                                                  23-08-03 - 13:45:41File: '/root'Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 8912897     Links: 29
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (    0/    root)

注意,这里的权限变为了0755,正常情况下 /root目录的权限应该是Access: (0550/dr-xr-x—)
使用chmod命令将/root文件夹的权限更改一下,再次执行就正常了。

建议: 不要轻易更改/root等系统文件夹的属性,避免一些不必要的问题!

http://www.lryc.cn/news/112085.html

相关文章:

  • Apache+Tomcat 整合
  • CSS中page-break-after属性
  • mvn build jar依赖和源码本身分开。减轻编译后的jar大小
  • Java是值传递还是引用传递?
  • 16 - 初探Linux进程调度
  • Huggingface使用
  • Android 刷新与显示
  • 三行命令在CentOS 8上安装FFmpeg
  • 【前端】html
  • 【RealTek sdk-3.4.14b】Realtek WiFi开发调试指令总结
  • 基于Vue 的文本类弹框代码Demo
  • 2023.08.01 驱动开发day8
  • 计算机视觉--距离变换算法的实战应用
  • MIT 6.824 -- MapReduce -- 01
  • 概念解析 | 利用IAA迭代自适应方法实现高精度角度估计
  • 正则表达式必知必会
  • [SQL系列] 从头开始学PostgreSQL 分库分表
  • 【VScode】Remote-SSH XHR failed无法访问远程服务器
  • pycharm打开terminal报错
  • C#与C/C++交互(1)——需要了解的基础知识
  • LeetCode笔记:Weekly Contest 356
  • 2 Python的基础语法
  • 抖音seo矩阵系统源代码开发搭建技术分享
  • python#django数据库一对一/一对多/多对多
  • 记RT-Thread rt_timer_start函数的问题
  • C++初阶——拷贝构造和运算符重载(const成员)
  • go练习 day01
  • C# Blazor 学习笔记(0.1):如何开始Blazor和vs基本设置
  • 原码的乘法运算 补码乘法运算
  • 找不到d3dx9_43.dll丢失怎么解决(分享几种解决方法)