想用 ruby 做一个自动的 ssh 登陆,方便日常工作。 但是查了一些资料,发现有一个 net/ssh,试了一下, 结果是:登陆后把结果返回到终端。
但是,我想实现的是,交互式输出密码后,登陆到服务器上。 这个如何实现?
Ruby Library expect
找个 ssh 库就 ok 了,曾经用 java 和 c 都写过
到需要密码的地方:
require 'io/console' password = STDIN.noecho{ gets.chomp }
然后通过 net/ssh 用这个 password 登录
net/ssh
password
貌似我理解错了,lz 要的是登录后到命令行交互的界面?
可能连 ruby 都用不着,用 key 登录,配置 ~/.ssh/config, 例如
Host myhost HostName 1.2.3.4 User app IdentityFile ~/my/private/key.pem
然后命令行里 ssh myhost 就登录了
ssh myhost
#3 楼 @luikore 神啊,你怎么什么都知道?
#4 楼 @i5ting 何でもは知らないわよ、知ってることだけ
#1 楼 @Ddl1st 试了一下 Ruby Library expect,可是这个也是在结果返回到当前终端,并没有停留到命令输入后的进程界面中。
#3 楼 @luikore 对,我需要的是登录后到命令行交互的界面。 你说的那个用配置文件还真是不错。 不过我想用 ruby 实现一个类似于这种的命令: autossh host1(默认密码) autossh host1 -p password(输入密码)