다음과 같이 내 컴퓨터에서 서버로 포트를 전달하는 명령이 있습니다.
ssh -L 8000:localhost:8888 myserver.com
이 명령을 백그라운드에서 실행하고 싶습니다. 공개 키를 이미 설정했으므로 사용자 이름과 비밀번호를 입력할 필요가 없습니다.
&
마지막에 다음과 같이 추가하려고 시도했습니다 . ssh -L 8000:localhost:8888 myserver.com& 그러나 다음 오류가 발생합니다.
[1] + 30825 suspended (tty output)
나는 또한 nohup
다음과 같이 시도했습니다.
nohup ssh -L 8000:localhost:8888 myserver.com&
exit
그러나 포트는 전달되지 않습니다.
마지막으로 다음과 같이 시도했습니다 ssh -f
.
ssh -L 8000:localhost:8888 myserver.com
그리고 다음과 같은 오류가 발생합니다.
Cannot fork into background without a command to execute.
내 목표는 터미널을 열어두지 않고 백그라운드에서 SSH 연결을 활성 상태로 유지하는 것입니다. 도움이 필요하세요?
답변1
당신이 언급한 ssh -f
것은 정확하지만 당신은 놓쳤습니다 -N
. 이것은 퍼즐의 남은 조각입니다:
-N
원격 명령을 실행하지 마십시오. 이는 포트 전달에 유용합니다. [...]
아주 근접한! 이 시도
ssh -fN -L 8000:localhost:8888 myserver.com