SSH-skip-pwd

SSH 免密码工具
授权协议 GPL
开发语言 Python
所属分类 应用工具、 加密/解密/破解
软件类型 开源软件
地区 国产
投 递 者 魏风华
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ssh-skip-pwd是ssh免密码工具。

已测环境:

  • OS: Centos6.X

  • 编程语言: python2.6 + pip + pexpect + paramiko

安装前置条件:

  • 1,确认python版本为2.6-2.x [非 python3]

  • 2,安装 pexpect 、paramiko组件

  • 建议:安装pip后使用pip 安装pexpect 、paramiko

安装方法:

  • a,复制ssh-skip-pwd文件到/usr/local/bin/中

  • b,用户root用户为该脚本赋权限

  • #chmod 755 /usr/local/bin/ssh-skip-pwd

常见问题列表:

问题1:

Received disconnect from 172.17.0.229: 2: Too many authentication failures lost connection

解决办法: 编辑/etc/ssh/sshd_config,修改参数MaxAuthTries=2,把2调大一点10-20间即可

参数列表简介:

-f:host列表;指定一个文件全路径;无默认值。

文件内容示例

eg:

#iphostname

192.168.1.2node1

192.168.1.3node3

-F: -F /path ,指定一个文件全路径;无默认值。该文件每一行包含:ip、hostname、password(远程服务器用户的密码)

文件内容示例

eg:

#iphostnamepassword

192.168.1.2node1123456

192.168.1.3node33456787

-h:帮助;

-p:密码;

-P:ssh port,ssh 的监听端口,默认值:22

-s:服务器hostname或者IP;准备免密码连接其他服务器的机器名或者ip,默认值:localhost

-u:用户名;非root用户做ssh免密码用

-U:用户列表

文件内容示例

eg1:

#用户名

user1

user2

......

eg2:

#用户名密码

user1123456

user2654321

使用方法:

场景一: 为当前登录用户在A服务器上做ssh免密码登录;

$(#) ssh-skip-pwd -p <password> -s <hostname/ip>

场景二:A服务器当前登录用户u1,为自己在服务器B、C上做ssh免密码

$(#) ssh-skip-pwd -f <host列表文件全路径>  -p <password>

-f参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

当用户u1在服务器B、C上密码不一至时

$(#) ssh-skip-pwd -F <host\pwd列表文件全路径>

-F参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01password1

10.10.0.2node02password2

注意当u1为root时,-f -F 文件中的hosts信息会被更新到A服务器的hosts中,同时更新到服务器B、C上

场景三:用户u1登录A服务器并为用户u2做ssh免密码登录服务器B、C

要求:u2在ABCD服务器上的密码一致

$(#) ssh-skip-pwd -u u2 -p <u2 password>  -f <host列表文件全路径> (当u1用户为root时,需要加入该参数--curt_pwd=<root 的密码吗>)

-f参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

登录在A服务器上的用户u1为D服务器上用户u2做免密码登录服务器B、C

$(#) ssh-skip-pwd -u u2 -p <u2 password>  -f <host列表文件全路径> -s <服务器D的hostname> (当u1用户为root时,需要加入该参数--curt_pwd=<root 的密码吗>)

-f参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

注意当u1为root时,-f 文件中的hosts信息会被更新到A服务器的hosts中,同时更新到服务器B、C上

场景四:A服务器上登录的用户u1为多个用户同时做ssh免密码登录服务器B、C

要求:每个用户在ABCD服务器上密码一致

$(#) ssh-skip-pwd -U <user/pwd 列表文件> -f <host列表文件全路径> (当u1用户为root时,需要加入该参数--curt_pwd=<root 的密码吗>)

-f参数的文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

-U参数的文件内容:

第一列为用户名,第二列为密码

user1password1

user2password2

...

登录在A服务器上的用户u1为D服务器上多个用户做免密码登录服务器B、C

$(#) ssh-skip-pwd -U <user/pwd 列表文件> -f <host列表文件全路径> -s <服务器D的hostname>  (当u1用户为root时,需要加入该参数--curt_pwd=<root 的密码吗>)

注意当u1为root时,-f 文件中的hosts信息会被更新到A服务器的hosts中,同时更新到服务器B、C上

  • 访问我的独立博客查看文章: http://blog.ywheel.com/post/2016/07/14/oozie_ssh_action/ 问题描述 最近在我们的其中一个现网环境中部署MR程序,MR程序的调度自然是用Oozie了。在Oozie的Workflow中,我们使用ssh action登录到一台节点上,并且在该节点上部署了脚本做数据库的建表操作。 该程序已经在现网多个生产环境部署运行过,经

  • yum安装salt-ssh报错:[root@linux-node1 yum.repos.d]# yum install salt-ssh -y 已加载插件:fastestmirror base                                                                                                        

 相关资料
  • 环境说明 CentOS 7.3 关键点 免密登录的关键点在于理解谁登录谁。 A 生成的公钥给 B,也给 C、D,则 A 可以直接免密 SSH 登录 B、C、D A 生成密钥 在 A 机器上输入命令:ssh-keygen 根据提示回车,共有三次交互提示,都回车即可。 生成的密钥目录在:/root/.ssh 把 A 的公钥发给 B 假设 B 机器的 ip:192.168.1.105 则在 A 机器上输

  • 本文向大家介绍ubuntu16.04服务器配置ssh免密码登录,包括了ubuntu16.04服务器配置ssh免密码登录的使用技巧和注意事项,需要的朋友参考一下 在客户端操作 文件位置写/home/try/.ssh/server_rsa,不使用默认值,我命名为server_rsa担心影响到git的key(因为我的git使用的是默认值) ssh-copy-id root@123.45.56.78(你的

  • 本文向大家介绍Linux下SSH免密码登录配置详解,包括了Linux下SSH免密码登录配置详解的使用技巧和注意事项,需要的朋友参考一下 假设有 A、 B 两台 Linux 服务器,我们希望能够从其中一台服务器通过 SSH 免密码登录到另一台服务器。 两台服务器的信息如下:  主机名 IP地址 免密码登录用户名 server1 192.168.12.11 guest1 server2 192.168

  • 本文向大家介绍linux远程登录ssh免密码配置方法,包括了linux远程登录ssh免密码配置方法的使用技巧和注意事项,需要的朋友参考一下 一、情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆。 二、原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一

  • 本文向大家介绍CentOS 6.5中SSH免密码登录配置教程,包括了CentOS 6.5中SSH免密码登录配置教程的使用技巧和注意事项,需要的朋友参考一下 0.说明 这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机。目标是实现A、B两台主机分别能够通过ssh免密码登录到对方主机。不同主机的配置过程一样,这里介绍A主机的配置过程。 事先在AB主机分别创建好要免密码登录的用户名,在

  • 本文向大家介绍Ubuntu下如何设置ssh免密码登录安装,包括了Ubuntu下如何设置ssh免密码登录安装的使用技巧和注意事项,需要的朋友参考一下 1、首先在本机安装openssh-server和openssh-client. 命令:sudo apt-get install openssh-server openssh-client 2、在检查当前的目录下有没有.ssh这个文件,没有的话就mkdi