我从名片 CD iso(基本上是它的一个非常精简的版本)安装了 debian。
我正在尝试通过代理 (在我的 .ssh/config 中设置) ssh 到一台机器,但是收到一个错误:
ssh [email protected] -v
OpenSSH_5.5p1 Debian-6+squeeze2, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/user/.ssh/config
debug1: Applying options for servername.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Executing proxy command: exec connect -S proxy-im.proxyhost.com:1080 servername.com 22
debug1: permanently_drop_suid: 1000
debug1: identity file /home/user/.ssh/id_rsa type -1
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
/bin/bash: line 0: exec: connect: not found
ssh_exchange_identification: Connection closed by remote host
看来我的机器上没有安装名为“connect”的命令。这是该命令的手册页: http://perkamon.alioth.debian.org/online/man2/connect.2.php
apt-get install connect 失败。它是其他软件包的一部分吗?如果是,我该如何找到它?
答案1
我刚刚在一个流行的搜索引擎中搜索了“apt-get install connect”,它自动完成为“apt-get install connect-proxy”
我仍然希望看到一种方法来通过手册页知道这个命令在哪个包中,否则有人如何追踪这样的事情。
答案2
为了得到特定命令,我通常使用包来找出要安装哪个包command-not-found
。可以通过输入以下命令来安装:
apt-get install command-not-found
安装command-not-found
并重新启动后bash
,我只需输入即可connect
找到所需包的名称:
$ connect
The program 'connect' is currently not installed. You can install it by typing:
sudo apt-get install connect-proxy
答案3
也许您找到了错误的配置文件或教程。尝试将 nc(nectat) 与 ProxyCommand 一起使用:
代理命令 /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
或者从 shell
ssh -v -i ~/.ssh/my_Favorite_key.pem -o ProxyCommand='nc -x jumphost:30022 %h %p'user@dst_host_name
在较新的 ssh 版本(自 7.3 起)中,您可以使用 ProxyJump,有关详细信息,请参阅 ssh_config 手册页。另一个很好的教程是 https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts
答案4
在这里您可以找到解决方案
ssh USER@FINAL_DEST -o "ProxyCommand=nc -X connect -x PROXYHOST:PROXYPORT %h
%p”