我在Macbook上的ssh隧道有问题。
我不小心按了以下命令Enter:ssh -f -N [REMOTE_IP]
。
现在,当我想与dat REMOTE_IP连接时,始终有效,我收到了一个超时请求:ssh: connect to host gitlab.com port [PORT_OF_REMOTE]: Operation timed out
。
背景:我已将主机的〜/ .ssh / config设置为gitlab.com主机名:
Host [REMOTE_IP]
HostName gitlab.com
Port [PORT_OF_REMOTE]
IdentityFile ~/.ssh/id_rsa
现在我在过去的几个小时中做了一些研究,以了解如何删除此本地ssh隧道。我知道该命令的语法不正确,因此无法创建隧道,因为我错过了一些参数。但这破坏了我与远程服务器连接的ssh。
当我注释掉HostName gitlab.com规则时,它可以正常工作,但是我需要该规则在服务器上使用git。
或
尝试终止ssh进程也不适用于ps -ax | grep ssh
。
编辑:试图用ps -ax | grep ssh
找到PID并用kill <PID>
杀死它,但是每次我按下ps -ax命令时,PID都会改变。
您有任何想法如何解决此问题/如何删除该本地ssh隧道吗?
谢谢
答案 0 :(得分:0)
尝试:
$ ssh -O exit [REMOTE_IP]
关闭所有现有连接。
答案 1 :(得分:0)
下面的命令将找到具有特定名称的进程并向其发送终止信号,
pkill -f "ssh -f -N [REMOTE_IP]"
附言在我的 ~/.zshrc
(或 ~/.bashrc
)中,我将这样的别名设置为在一个命令中开始或停止。 :)
alias server-up='ssh -fNTML 8888:localhost:8888 [REMOTE IP]'
alias server-down='pkill -f "ssh -fNTML 8888:localhost:8888 [REMOTE IP]"'