SSH-skip-pwd SSH 免密码工具

程序名称:SSH-skip-pwd

授权协议: GPL

操作系统: 跨平台

开发语言: Python

SSH-skip-pwd 介绍

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 -s

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

$(#) ssh-skip-pwd -f -p

-f参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

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

$(#) ssh-skip-pwd -F

-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 -f (当u1用户为root时,需要加入该参数
–curt_pwd=

-f参数文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

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

$(#) ssh-skip-pwd -u u2 -p -f -s <服务器D的hostname>
(当u1用户为root时,需要加入该参数–curt_pwd=

-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 -f (当u1用户为root时,需要加入该参数–
curt_pwd=

-f参数的文件内容:

第一列为IP,第二列为hostname

10.10.0.1node01

10.10.0.2node02

-U参数的文件内容:

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

user1password1

user2password2

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

$(#) ssh-skip-pwd -U -f -s <服务器D的hostname>
(当u1用户为root时,需要加入该参数–curt_pwd=

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

SSH-skip-pwd 官网

https://github.com/codeson007/cluster_tools

相关编程语言

Pacman 是一个软件包管理器, 作为 ArchLinux 发行版...
Smb4K 是KDE下的网络共享浏览器 更多屏幕截图请看:...
Wine (“Wine Is Not an Emulator” 的首字母缩写)...
虚拟桌面软件,可管理最多9个虚拟桌面,你可以用热键...
UNetbootin (Universal Netboot Installer)为一种跨...
Cobbler 可以用来快速建立 Linux 网络安装环境,它已...