OSX Terminal.app SSH端口

时间:2013-02-05 21:02:15

标签: macos bash terminal

我觉得这是一个完整的笨蛋 - 但我似乎无法将Terminal.app和SSH连接到非标准的SSH端口。我在山狮队。

我尝试了以下所有方法:

$ ssh myuser@mysite.com -p 42586
$ ssh myuser@mysite.com -p42586
$ ssh -p 42586 myuser@mysite.com
$ ssh -p42586 myuser@mysite.com

我似乎无法正确使用语法,所有上述操作都会产生错误。标志的正确顺序是什么?我已经检查了man页面,并将其显示在[user] @ [domain]部分之前,但是,这也会引发错误。

修改

更多信息和原始终端输出:

$ ssh mysite.com -p42586
--hangs--
$ ssh mysite.com -p 42586
--hangs--
$ ssh -p42586 mysite.com
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
    [-e pattern] [-f file] [--binary-files=value] [--color=when]
    [--context[=num]] [--directories=action] [--label] [--line-buffered]
    [--null] [pattern] [file ...]
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-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 host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
$ ssh -p 42586 mysite.com
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
    [-e pattern] [-f file] [--binary-files=value] [--color=when]
    [--context[=num]] [--directories=action] [--label] [--line-buffered]
    [--null] [pattern] [file ...]
/usr/bin/ssh: option requires an argument -- p
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-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 host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]

示例1和2挂起,直到超时。 3和4产生grep使用回声以及ssh使用回声。

编辑2:

感谢@topguncoder的建议,我的原始尝试是结肠符号 - 但这会产生不同的错误:

$ ssh myuser@mysite.com:42586
ssh: Could not resolve hostname mysite:42586: nodename nor servname provided, or not known

2 个答案:

答案 0 :(得分:7)

尝试

"ssh" -p 42586 mysite.com

忽略您的alias设置。看起来你可能会ssh别名。如果此方法有效,则应检查.profile是否有ssh个别名。

答案 1 :(得分:2)

我相信在您的系统上,ssh命令以某种方式被重新定义为grep命令。试试这个:

alias | /usr/bin/grep ssh

你看到了什么?另外,试试这个:

/usr/bin/ssh -p 42586 myuser@mysite.com

你有成功的联系吗?如果ssh别名为别的东西。检查以下文件:

  • 〜/ .bash_profile中
  • 〜/ .bashrc中
  • 〜/ .profile中

然后您可以删除别名,或使用绝对路径(例如/usr/bin/ssh