脚本实现功能:批量或单个SSH免交互登录认证 脚本应用场景:当部署集群时,大多数实现要配置好管理节点与从节点的SSH免交互登录,针对这样的情况,写了下面脚本,简化工作. 脚本支持系统:Ubuntu和CentOS #!/bin/bash # Description: configuration local host and remote host ssh keypair authentication, Support Ubuntu and CentOS operation system. # Bl…
##免交互SSH登录auto_login_ssh () {    expect -c "set timeout -1;                spawn -noecho ssh -o StrictHostKeyChecking=no $2 ${@:3};                expect *assword:*;                send -- $1\r;                interact;"; 示例: auto_login_ssh  密码 …
首先安装expect # yum -y install expect 命令格式 # ./expect IP COMM    #expect是独立的工具,所以不能用sh来执行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/expect   set timeout -1    #超时时间默认10秒,如果你要执行一条很漫长的命令,那么这个很有必要,这里将超时时间设置为永不超时   set COMMADN1 [lindex $arg…
生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)   放置公钥到Linux服务器.使用scp命令: scp ~/.ssh/id_rsa.pub cssor@cssor.com:/home/cssor/.ssh/ 然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行: #先登录到远程服务…
  http://blog.csdn.net/leexide/article/details/17252369       Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签: shellssh无密码登录远程登录 2013-12-10 22:57 43227人阅读 评论(2) 收藏 举报  分类: Linux System(1)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   一.SSH简介 SSH是一个专为远程登录会话和其他网络服务提供安…
背景:无密码登录,所谓的无密码登录其实是指通过证书认证的方式登录,使用一种‘公私钥’认证的方式来进行ssh登录 在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做Linux系统的远程管理是非常安全的.(telnet 因为其不安全性,在linux系统被搁置使用啦!!!) “公私钥”认证方式简单的解释:首先在客户端创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub: 私钥文件:~/.ssh/id_rsa).然后把公钥放到服务器上(~/.…
#!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_utils(): def login_by_passwd(self, ip, port, username, passwd): self.ip = ip self.port = port self.username = username self.passwd = passwd self.pkey = None def logi…
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] ? 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/expect…
Linux下实现SSH无密码验证登陆 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执行如下: 1. $cd ~/.ssh 2. $ssh-keygen -t rsa ------------------然后一直按回车键,就会按照默认的选项将生成的私钥保存在.ssh/id_rsa文件中,生成的公钥保存在.ssh/id_rsa.pub中. 3. $cp id_rsa.pub autho…
说明:可以做SSH免密登录之后执行,这样可以省去每次执行输入密码的提示. 对于简单的命令: 如果是简单执行几个命令,则: ssh user@remoteNode "cd /home ; ls" 基本能完成常用的对于远程节点的管理了,几个注意的点: 双引号,必须有.如果不加双引号,第二个ls命令在本地执行 分号,两个命令之间用分号隔开 多行命令可以输入双引号后回车,结尾使用双引号包裹 对于脚本的方式: 有些远程执行的命令内容较多,单一命令无法完成,考虑脚本方式实现: #!/bin/bas…