首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以非交互方式向ssh提供基于时间的一次性密码?

问如何以非交互方式向ssh提供基于时间的一次性密码?
EN

Stack Overflow用户
提问于 2019-03-02 13:13:06
回答 1查看 465关注 0票数 1

一些超级计算机需要基于时间的一次性密码才能通过ssh登录。我希望避免每次都输入口令,并通过bash脚本自动登录/scp/rsync,在bash脚本中,我生成一次性口令,然后使用sshpass将该一次性口令传递给ssh。

sshpass -p my_password_and_OTP ssh user@hostname

此sshpass适用于通常的ssh,但我的测试表明它不适用于需要一次性密码的ssh。我想知道是否有一种方法可以非交互式地向ssh提供基于时间的一次性密码。

EN

回答 1

Stack Overflow用户

发布于 2019-03-03 11:59:54

这是我使用expect+oathtool的解决方案

代码语言:javascript
复制
#!/usr/bin/expect -f
set otp [exec oathtool --totp -b my_secrete_key]
set timeout -1
spawn scp a.f90 usrname@cori.nersc.gov:~/
expect "Password + OTP:"
send -- "my_passwd${otp}\r"
expect eof

我使用oathtool生成一次性密码,并将结果存储在变量otp中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54955447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档