新手问题 ruby 怎么交互式输入

jeky · 2013年01月17日 · 最后由 jeky 回复于 2013年01月18日 · 8381 次阅读

想用 ruby 做一个自动的 ssh 登陆,方便日常工作。 但是查了一些资料,发现有一个 net/ssh,试了一下, 结果是:登陆后把结果返回到终端。

但是,我想实现的是,交互式输出密码后,登陆到服务器上。 这个如何实现?

Ruby Library expect

找个 ssh 库就 ok 了,曾经用 java 和 c 都写过

到需要密码的地方:

require 'io/console'
password = STDIN.noecho{ gets.chomp }

然后通过 net/ssh 用这个 password 登录


貌似我理解错了,lz 要的是登录后到命令行交互的界面?

可能连 ruby 都用不着,用 key 登录,配置 ~/.ssh/config, 例如

Host myhost
  HostName 1.2.3.4
  User app
  IdentityFile ~/my/private/key.pem

然后命令行里 ssh myhost 就登录了

#3 楼 @luikore 神啊,你怎么什么都知道?

#4 楼 @i5ting 何でもは知らないわよ、知ってることだけ

#1 楼 @Ddl1st 试了一下 Ruby Library expect,可是这个也是在结果返回到当前终端,并没有停留到命令输入后的进程界面中。

#3 楼 @luikore 对,我需要的是登录后到命令行交互的界面。 你说的那个用配置文件还真是不错。 不过我想用 ruby 实现一个类似于这种的命令: autossh host1(默认密码) autossh host1 -p password(输入密码)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号