【问题标题】:rhc ssh [No system SSH available] errorrhc ssh [没有可用的系统 SSH] 错误
【发布时间】:2015-01-24 11:03:20
【问题描述】:

我想在我的 cmd 中查看我的 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 密钥。那么我该如何解决这个问题呢?

【问题讨论】:

  • 它不是抱怨 ssh keys,而是抱怨缺少 executable ssh。你的路径中有它吗?
  • 我的 ssh 文件路径:"C:\Users\admin\.ssh"
  • 此文件夹包含三个文件。 id_rsa.pub,id_rsa,known_hosts
  • 这不是一个可执行文件,只是包含 ssh 相关文件(keys、config、authorized_keys、known_hosts、...)的文件夹。我说的是ssh.exe。它应该包含在您的 msysgit 发行版中。您需要将其添加到您的%PATH%
  • 我确实尝试使用 rhc 命令设置 ssh 路径:rhc ssh -ssh "C:\Users\admin\.ssh" -a appname

标签: git ssh openshift ssh-keys openshift-enterprise


【解决方案1】:

如果您安装了适用于 Windows 的 Git1,那么您可以尝试类似以下操作:

rhc ssh --ssh C:\PROGRA~1\Git\usr\bin\ssh.exe -a <appname>

例如

rhc ssh --ssh C:\PROGRA~1\Git\usr\bin\ssh.exe -a myawesomeapp

注意事项

  1. https://git-scm.com/download/winhttps://git-for-windows.github.io/

【讨论】:

【解决方案2】:

您需要确保:

  • 您在一个定义了HOME 的cmd 会话中(输入set HOME 来检查它的值:它必须是C:\Users\yourLogin,因为ssh 需要在%HOME%\.ssh 中查找键)
  • %PATH% 中引用了您的 ssh.exe 父文件夹,或者您可以键入:

    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 的实际安装路径。

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

【讨论】:

  • 我正在尝试:rhc ssh --ssh "C:\Program Files (x86)\Git\bin" -a appname 但我收到消息:SSH 可执行文件'C:\Program' 不存在.
  • 将 Git 解压到没有空格的路径中。这样会更容易。
  • 我确实试过这个:rhc ssh --ssh "C:\ProgramFiles(x86)\Git\bin" -a appname 但我得到同样的错误。所以我会尝试 msysgit。
  • 我的意思是,将其解压缩到不同的路径中,没有空格。我怀疑“C:\ProgramFiles(x86)”不存在。你可以使用任何你想要的路径:例如c:\git
  • @nmkkannan 也许它需要 exe 的完整路径,而不是它的父文件夹。可以试试:rhc ssh -ssh "c:\git\bin\ssh.exe" -a appname(把'c:\git'换成你解压git的路径)
【解决方案3】:

如果您对将 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>'

【讨论】:

    【解决方案4】:

    像 Cygwin 一样安装“SSH”客户端。

    一个非常有趣的教程是->>> nawab-how-to-install-ssh

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-13
        • 1970-01-01
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 2015-11-02
        • 2016-04-09
        相关资源
        最近更新 更多