SSH 免密码工具 SSH-skip-pwd

GPL
Python 查看源码»
跨平台
2016-10-17
code_son

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上

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

using mongodb advanced command 2

文章来自我的博客:https://www.lwxshow.com/db/mongo/using-mongodb-advanced-command-2.html #分页,只显示指定的条数 db.cuser.find({age:{$ne:5}}).limit(5); #跳过3个 然后显示5条数据 ...

2013/06/03 22:25
14
0
centos service中的环境变量问题

问题描述: 在之前的测试intel media server studio的硬编,并将应用写成service脚本放入/etc/init.d/目录下。 不过测试发现使用service和/etc/init.d/启动的效果不一样。 使用service启动时...

2015/03/30 23:37
1K
0
Centos6 SSH配置

Centos6 SSH 一、SSH安装 默认CentOS已经安装了OpenSSH。 二、配置SSH 输入以下命令: vim /etc/ssh/sshd_config Port: SSH的监听端口 默认为22,设置为【Port 22】 Protocol:SSH允许SSH1和...

2013/05/22 17:02
137
0
php ssh2安装

yum install libssh2-devel yum install gcc 接下来,安装ssh2-0.11.0.tgz tar zxvf ssh2-0.11.0.tgz ssh2-0.11.0.tgz下载地址:http://pecl.php.net/package/ssh2 cd ssh2-0.11.0 phpize ./...

2015/10/23 23:13
10
0
个人部署maven项目

使用一个自动化脚本完成打包上传部署等功能。

2016/03/01 19:29
12
1
DNS不正确可导致SSH、MySQL连接非常慢

MySQL该参数的官方解释信息如下: How MySQL uses DNS When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if t...

2017/03/21 17:02
32
0
使用 Shell 备份远程服务器上的 MySQL 数据库到本机

适用场景:远程服务器上的 MySQL 不允许远程访问,此时我们需要先登录服务器,备份数据库后,将备份文件拉取到本机。 源码 mysqlDumpRemote2Local.sh #!/bin/bash #########################...

2018/11/13 14:23
20
0
在linux下配置javaWeb项目.sh部署脚本

在linux下配置javaWeb项目.sh部署脚本

2016/01/04 16:24
77
0
2.6 相对和绝对路径

- 每一个文件都会有一个从根开始的文件 - 所有的文件都有一个自己的路径 - 从根开始的都是绝对路径,不管你是在哪个目录下,都可以通过路径找到文件的路径为绝对路径 - 不是由根开头,相对于...

2017/10/22 19:09
8
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部