SSH 연결에서 w3m 대신 실제 브라우저 사용


10

데스크톱 및 서버 OS로 Ubuntu를 사용하고 있습니다. sshon을 통해 서버에 로그인하고 서버 terminal에서 웹 페이지 (localhost)를보아야 할 때 w3m ( w3m localhost)을 사용합니다.

불행히도 w3m은 페이지에 큰 메뉴가 있고 jQuery를 사용하기 때문에 다루기가 쉽지 않습니다. 따라서 데스크톱의 브라우저를 사용하여 실제 브라우저 (Firefox 또는 Chrome)를 사용하여 SSH를 통해 서버에 연결할 수 있는지 궁금합니다.

기본적으로는와 SSH를 통해 서버에 내 바탕 화면에 브라우저를 연결하기 위해 필요 username하고 password해당 서버에 오픈 localhost.

기본적으로 가능합니까, 아니면 Firefox / Chrome 용 애드온이 있습니까? Firefox를 선호합니다.


귀하의 질문에 대한 답변은 아니지만 X 전달을 사용하는 것은 어떻습니까?
Javier Rivera

1
http를 통해 원격 서버에 연결할 수없는 이유는 무엇입니까? 테스트 목적으로 localhost에서 시작하도록 특별히 요청해야합니까? @Javier X 포워딩, 특히 파이어 폭스의 경우 대역폭이 무거 우므로 로컬이 아닌 연결에는 권장하지 않습니다.
Carsten Thiel

한편으로는 테스트 목적으로 사용되므로 localhost 여야합니다. 반면에 원격 서버는 로컬 네트워크에 없으며 일반 http를 통해 연결할 수 없습니다.
Pit

예, 대역폭이 우려 될 때 전달 X.
하비에르 리베라

답변:


14

ssh 포트 전달을 사용하십시오.

다음과 같이 원격 서버에 연결하십시오.

ssh -L 8080:localhost:80 user@remoteserver

이제 로컬 브라우저를 localhost : 8080으로 지정하십시오. 원격 서버에서 localhost : 80으로 전달되어야합니다.


방금 로컬 네트워크의 서버에서 이것을 테스트했는데 작동하는 것 같습니다. 나중에 원격 서버로 테스트하겠습니다.
Pit

6

1 부

ssh로 양말 프록시를 만드십시오!

ssh -D 9999 user@remoteserver

이제 Firefox 환경 설정을 열고 고급> 네트워크> 설정으로 이동하십시오. 수동 프록시 구성을 선택하십시오. SOCKS 호스트에 localhost를, 포트에 9999를 입력하십시오. http://whatismyip.org 또는 유사한 사이트 로 이동하여 테스트 하십시오.

localhost (서버에 상대적)의 웹 페이지에 액세스하려고한다고해서 localhost 및 127.0.0.1을 프록시 사용에서 제외하지 않을 수 있습니다. 물론 서버의 로컬 IP를 사용할 수 있습니다.

내 설명이 마음에 들지 않으면이 링크를 작성하는 동안이 링크가 내 기억을 자극했습니다.

http://linux.die.net/man/1/ssh

http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

2 부

당신이 얻은 오류는 channel 3: open failed: connect failed: Connection refusedssh와 전혀 관련이 없습니다. 분명히 당신은 mysql에 접근하려고합니다. mysql은 기본적으로 ssh 터널에서의 액세스를 차단하기 때문에 추가적인 문제가 있습니다. 나는 mysql을하지 않으므로 나머지 부분에 대해 내가 무엇을 이야기하고 있는지 모른다. 마지막에 링크의 관련 비트를 인용하고 있습니다.

/etc/mysql/my.cnf를 열고 [mysqld] 섹션을 찾으십시오. "skip-networking"줄이 표시되면 주석 처리하십시오. "바인드 주소 = 127.0.0.1"을 추가하십시오 (물론 따옴표 제외).

http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused

3 부

Javier의 솔루션 ssh -L 8080:localhost:80 user@remoteserver은 한 위치에 액세스해야하는 경우 환상적입니다. 로컬 호스트에 액세스하고 나머지 인터넷은 그대로 둡니다. ssh -D가있는 내 솔루션은 더 멀어지고 실제로 모든 http 요청을 원격 서버로 보냅니다. 분명히 당신은 실제로 이것을 원하지 않을 수도 있습니다. 그러나 네트워크의 모든 컴퓨터에 http 액세스를 원하거나 네트워크를 통해 http 요청을 원하지 않는 경우 (예 : 스타 벅스의 온라인 뱅킹) 모든 트래픽이 발생합니다. 내 집 인터넷에 ssh 터널을 통해.)


firefox에서 'localhost'를 요청하면 ssh 연결을 연 터미널에서 오류가 발생합니다 channel 3: open failed: connect failed: Connection refused. 찾아 볼 시간이 없었지만 그게 뭔지 아십니까?
Pit

방금 ssh 맨 페이지에서 -D옵션 을 사용하기 위해 루트가되어야한다는 것을 보았습니다 . 이것이 보안상의 이유로 서버에 루트로 연결할 수 없으므로 작동하지 않거나 작동하지 않는 이유입니다.
Pit

뭐? 나는 이것을 터널의 양쪽 끝에서 일반 사용자로 항상 사용했습니다. 아 알 겠어요 80 또는 21과 같은 포트 나 다른 IANA 예약 포트를 사용하려는 경우 루트 여야합니다. 1024 이상은 괜찮을 것입니다. 오류는 ssh.conf 차단 전달과 관련이 있다고 생각합니다. 나는 지금 그 라인을 따라 인터넷 검색을하고 있습니다.
djeikyb

귀하의 오류를 Google에서 발견했으며 mysql에는 기본적으로 포트 전달에서 액세스를 차단하는 보안 "기능"이 있다고이 기사를 작성했습니다. debuntu.org/…
djeikyb

2

서버에서 실행하는 모든 X 응용 프로그램이 개인용 컴퓨터에 표시되도록 SSH를 통해 X 전달을 사용할 수 있습니다.

  1. SSH를 사용하여 서버에 연결할 때 -X 플래그를 추가하십시오. 예를 들면 다음과 같습니다 ssh -X myserver.
  2. 서버에 GUI 브라우저를 설치하고 간단히 실행하십시오. 출력은 X 전달 및 보안 SSH 연결을 통해 개인용 컴퓨터에 나타납니다.

Carsten이 내 질문에 대한 언급에서 원격 서버가 로컬 네트워크에 있지 않다는 점에 대해 언급했듯이 대역폭은 어떻습니까?
Pit

대역폭 요구 사항을 정의해야합니다. 실패하면, 당신은 이것을 시도하고 그것이 어떻게 작동하는지 볼 수 있습니다.
user4124
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.