学习啦>学习电脑>操作系统>Linux教程>

linux命令expect实现ssh登陆

志艺分享

  SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。那么你知道linux命令expect实现ssh登陆么?接下来是小编为大家收集的linux命令expect实现ssh登陆,欢迎大家阅读:

  linux命令expect实现ssh登陆

  1 expect可用于自动化脚本的书写

  yum -y install expect即可下载

  2 脚本ssh.exp

  #此行用于解释器,这样意味着你可以./ssh.exp了,或者不写这行直接/usr/bin/expect ssh.exp也行

  #!/usr/bin/expect -f

  #设置参数的方法是使用set,如果想获取命令行参数,则使用[ index $argv 0 ]表示获取第一个参数

  set ip "localhost"

  set passwd "liuliancao"

  set timeout 10

  #生成一个进程

  spawn ssh liuliancao@$ip

  expect "(yes/no)?" {send "yes\r";exp_continue} #如果遇到了(yes/no)?这样的字符串就输入yes和换行符号,继续后面的expect,注意{前面有个空格,expect后面有个空格

  expect "password:" {send "$passwd\r";interact} #如果遇到了password:这样的字符串就输入用户秘密,并保持交互

  3 脚本ssh_without_passwd.exp

  #!/usr/bin/expect -f

  set ip [ lindex $argv 0 ]

  set passwd [ lindex $argv 1 ]

  spawn ssh-copy-id -i /root/.ssh/id_rsa root@$ip

  expect "yes/no" {send "yes\r";exp_continue}

  expect "password:" {send "$passwd\r"}

  interact

  
看了“linux命令expect实现ssh登陆”还想看:

1.Linux系统中SSH命令的使用教程

2.SSH连接LINUX操作系统的方法是什么

3.LINUX操作系统SSH的使用方法

4.LINUX操作系统外网SSH访问内网的方法

    2961483