RHC SSH [无系统SSH可用] 错误

6
我想在命令行中查看我的OpenShift应用程序日志。 我尝试过:
rhc ssh appname 但是我得到了以下错误信息:
No system SSH available. Please use the --ssh option to specify the path to your SSH executable, or install SSH.

我的系统已经有了SSH密钥,那么我该如何解决这个问题呢?


1
它并不抱怨ssh的密钥,而是缺少可执行文件 ssh。你的PATH里有吗? - VonC
我的ssh文件路径:"C:\Users\admin.ssh" - nmkkannan
这个文件夹包含三个文件。id_rsa.pub,id_rsa和known_hosts。 - nmkkannan
那不是可执行文件,只是包含ssh相关文件(密钥,配置,authorized_keys,known_hosts等)的文件夹。我在说ssh.exe。 它应该包含在您的msysgit分发中。您需要将其添加到%PATH%中。 - VonC
我尝试使用rhc命令设置ssh路径:rhc ssh -ssh "C:\Users\admin.ssh" -a appname - nmkkannan
显示剩余4条评论
5个回答

11

请查看我为您留下的评论作为答案。https://dev59.com/-oXca4cB1Zd3GeqPJYWH#36470499 - Mogsdad
1
实际上这个救了我的一天 <rhc ssh --ssh C:\PROGRA~1\Git\usr\bin\ssh.exe -a appname> - prieston

6

你需要确保:

  • you are in a cmd session where HOME is define (type set HOME to check its value: it must be C:\Users\yourLogin, because ssh needs to look for keys in %HOME%\.ssh)
  • your ssh.exe parent folder is referenced in the %PATH%, or you can type:

    rhc ssh -ssh "c:\prgs\git\PortableGit-2.8.3-64-bit\usr\bin\" -a appname
    

请将 c:\prgs\git\PortableGit-2.8.3-64-bit 替换为您实际安装的 Git for Windows 路径。

最简单的解决方案是将包含 ssh.exegit\usr\bin 文件夹添加到 PATH 环境变量中。


我正在尝试运行以下命令:rhc ssh --ssh "C:\Program Files (x86)\Git\bin" -a appname,但是我收到了以下错误信息:SSH可执行文件'C:\Program'不存在。 - nmkkannan
在没有空格的路径中解压Git。这样会更容易。 - VonC
我的意思是,将其解压到不带空格的不同路径中。我怀疑 "C:\ProgramFiles(x86)" 不存在。您可以使用任何路径:例如 c:\git - VonC
@nmkkannan也许需要提供ssh.exe的完整路径,而不是其父文件夹。您可以尝试:rhc ssh -ssh "c:\git\bin\ssh.exe" -a appname(将“ c:\git ”替换为解压git的路径)。 - VonC
谢谢回复,我现在尝试一下。 - nmkkannan
显示剩余3条评论

2
如果您不想将您的git路径添加到PATH中,那么您需要使用8.3样式的路径,因为rhc无法处理路径中的空格。
  • 对于x86版本的git,请使用rhc ssh myapp --ssh C:\Progra~2\Git\usr\bin\ssh.exe
  • 对于x64版本的git,请使用rhc ssh myapp --ssh "C:\Progra~1\Git\usr\bin\ssh.exe

如果您像这样保留空格:C:\Users\me>rhc ssh myapp --ssh "C:\Program Files (x86)\Git\usr\bin\ssh.exe"

您将会得到以下错误:

RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Connecting to my0apps0guid@myapp-me.rhcloud.com ...
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands/ssh.rb:49:in 'exec': No such file or directory - C:\Prog
ram (Errno::ENOENT)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands/ssh.rb:49:in 'run'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands.rb:294:in 'execute'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands.rb:285:in 'block (3 levels) in to_commander'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in 'call'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in 'call'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:155:in 'run'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/runner.rb:421:in 'run_active_command'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/command_runner.rb:72:in 'run!'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/delegates.rb:12:in 'run!'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/cli.rb:37:in 'start'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/bin/rhc:20:in '<top (required)>'
    from C:/Ruby193/bin/rhc:23:in 'load'
    from C:/Ruby193/bin/rhc:23:in '<main>'

0

0

您可能需要先进入Openshift Web控制台 >> 设置并删除现有的密钥。然后在命令行中运行rhc setup。然后尝试rhc ssh -a yourApp --ssh C:\PROGRA~1\Git\usr\bin\ssh.exe。这是对我有效的方法,所以我分享这个答案。希望能帮到您。祝好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接