如何写shell脚本自动通过ssh命令登录到服务器

 我来答
就烦条0o
2016-07-24 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46485
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
用EXPECT实现用密码登录,也可配置成不需要密码

#!/usr/bin/expect -f

if { $argc < 3 } {

puts stderr "Usage: $argv0 IPAdress Login OldPasswd"

exit
}

set IPADDR [lindex $argv 0]
set LOGIN [lindex $argv 1]
set OLD_PW [lindex $argv 2]

set timeout 30

stty -echo

spawn ssh $IPADDR -l $LOGIN
expect {
"*Password:*" {
send "$OLD_PW\r"
exp_continue
} "*Last login:*" {
#interact
exit 0
} timeout {
send_user "connection to $IPADDR timeout!\n"
exit 1
} "*incorrect*" {
send_user "password incorrect!\n"
exit 2
} "*Permission*" { #for LINUX ssh
send_user "password Error!\n"
exit 2
} eof {
exit 3
}
}
镭速传输
2024-10-28 广告
作为深圳市云语科技有限公司的一员,我们推出的FTP替代升级方案,旨在解决传统FTP在安全性、效率、稳定性及管理方面的不足。我们的产品通过采用自主研发的Raysync传输协议,实现高效、安全的文件传输,即使在恶劣网络环境下也能确保传输的稳定性... 点击进入详情页
本回答由镭速传输提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式