我正在尝试遵循Facebooker 教程(对于 Ruby on Rails)但我无法运行 ssh 隧道:
再次打开终端。您需要启动本地开发服务器,然后让该服务器可供更广泛的互联网使用。请按如下方式操作:
script/server &
rake facebooker:tunnel:start &
一旦您的服务器启动,第二个命令将启动反向 ssh 隧道。
当我执行第二条命令时,得到以下结果:
user@computer:~/facebooker-test$ rake -t facebooker:tunnel:start
(in /home/user/facebooker-test)
** Invoke facebooker:tunnel:start (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke facebooker:tunnel:config (first_time)
** Invoke environment
** Execute facebooker:tunnel:config
** Execute facebooker:tunnel:start
Starting tunnel :4007 to 0.0.0.0:3000
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
usage: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w local_tun[:remote_tun]] [user@]hostname [command]
user@computer:~/facebooker-test$
rake
显然,任务的ssh
命令和正确的语法之间存在某种不兼容性。
我正在使用带有openssh-server
软件包的 Ubuntu 9.10,以及来自 github 的开箱即用的 Ruby on Rails facebooker 插件。
有任何想法吗?
答案1
好的,我明白了。显然,我的facebooker.yml
文件中缺少一些定义。
我必须输入主机和用户名。
我通过进入vendor/plugins/facebooker/lib/tasks/tunnel.rake
并将以下行添加到指令末尾发现了这一点:config
:
@notification <<"using the following ssh command: \n #{@ssh_command}"
然后,当我使用 -t 选项调用 rake 时,我得到了命令执行方式的输出。我看到@
命令末尾有一个尾随,然后意识到缺少了什么。太棒了!