ssh를 통해 웹 페이지에 액세스


14

IEEE xplore에 액세스해야하지만 기관에서 다운로드 할 권한이 없습니다.

ssh를 통해 기관 서버에 로그인 할 수 있습니다.

ssh를 통해 기관 서버를 통해 IEEE xplore에 어떻게 액세스 할 수 있습니까?

나는 해결책을 찾았다.

ssh -L 8080:localhost:80 user@remoteserver

그리고 그는 말합니다 :

이제 로컬 브라우저를 localhost : 8080으로 지정하십시오. 원격 서버의 localhost : 80으로 전달해야합니다. ### 그러나 크롬을 사용하는 랩톱을 구성하는 방법을 여전히 모릅니다.

도와 주셔서 감사합니다!


답변:


23

첫 번째 방법 :

SSH 터널 시작

SSH 터널을 시작하려면 터미널을 열고 다음 플래그를 사용하여 SSH를 통해 원격 서버에 연결하십시오.

ssh -D 8080 -C -N username@example.com

SSH 터널 (Chrome)을 사용하여 웹 탐색

이제 새로운 SSH 터널을 사용하여 웹 탐색을 시작하겠습니다.

  • Chrome 열기
  • 오른쪽 상단에서 렌치 아이콘을 선택하십시오.
  • '설정'을 선택하십시오
  • '고급 설정 표시…'를 선택하십시오.
  • '프록시 설정 변경…'을 선택하십시오.
  • 'SOCKS 프록시'를 선택하십시오
  • '127.0.0.1'을 입력하십시오.
  • 포트 '8080'을 입력하십시오
  • '확인'을 선택하여 변경 사항을 저장하십시오.

Google에서 'my ip'를 검색하고 IP 주소가 무엇인지 살펴보십시오.

포트 8080에서 SSH 터널을 시작하고 example.com의 서버를 통해 모든 트래픽을 안전하게 라우팅합니다.

SSH 터널 종료

SSH 터널을 종료하려면 브라우저에서 SOCKS 프록시를 비활성화하십시오.

출처

두 번째 방법 :

Shellinabox를 사용하면 쉽게 할 수 있습니다

유니버스 리포지토리를 확인했는지 확인하십시오.

설치하기 위해서

 $ sudo apt-get install openssl shellinabox

Shellinabox 구성

기본적으로 shellinaboxd는 localhost의 TCP 포트 4200에서 수신 대기합니다. 설치하는 동안 HTTPS 프로토콜을 사용하기 위해“/ var / lib / shellinabox”에서 자동으로 생성 된 새로운 자체 서명 SSL 인증서.

$ sudo vi /etc/default/shellinabox

# specify the IP address of a destination SSH server
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"

주의 : ip 172.16.25.125를 당신의 것으로 바꾸십시오

Shellinabox 시작

구성을 마치면 서비스를 시작할 수 있습니다

$ sudo service shellinaboxd start

Shellinabox 확인

이제 "netstat"명령을 사용하여 Shellinabox가 포트 4200에서 실행 중인지 확인하십시오.

$ sudo netstat -nap | grep shellinabox
or
# netstat -nap | grep shellinabox

tcp        0      0 0.0.0.0:4200            0.0.0.0:*               LISTEN      12274/shellinaboxd

이제 웹 브라우저를 열고 'https : // "Your-IP-Adress : 6175"로 이동하십시오. 웹 기반 SSH 터미널을 볼 수 있어야합니다. 사용자 이름과 비밀번호를 사용하여 로그인하면 쉘 프롬프트가 표시됩니다.

여기에 이미지 설명을 입력하십시오

출처


@ maythus, 대단히 감사합니다, 당신의 대답은 훌륭합니다. 나는 해결책 1로 문제를 해결한다.
ulyssis2

@ ulyssis2 당신은 매우 환영받는 친구입니다
Maythux

@kimerseen 환영합니다 친구
Maythux


2

제공 한 예는 정확하지만 다소 오해의 소지가 있습니다. 이것은 작동해야합니다 :

ssh -L 8080:<remote-web-host-you-want-to-see>:80 remote-user@remote-ssh-server

예를 들어,이 웹 페이지에 액세스 할 수있는 ssh를 실행하는 원격 상자를 생각해보십시오. 로컬로보고 싶습니다.

http://192.168.1.2/index.html

로컬 상자에 해당 원격 페이지를 탐색 할 수있는 터널을 만들려면 로컬로 실행합니다.

ssh -L 8080:192.168.1.2:80 user@remote-ssh-server

그런 다음 웹 브라우저에서 다음을 방문하십시오.

http : // localhost : 8080 / index.html

포트 지정자를 생략해야하거나 원하는 경우 80은 "권한있는"포트 (<1024)이므로 루트로 터널을 열어야합니다.

sudo ssh -L 80:<remote-web-host-you-want-to-see>:80 remote-user@remote-ssh-server

그런 다음 로컬로 방문하십시오.

http : //localhost/index.html

다른 구성이 필요하지 않습니다.

또한 로컬에서 보려는 단일 호스트 에서만 작동 합니다. 더 많은 정보가 필요한 경우 다른 포트에서 더 많은 터널을 열거 나 프록시를 통해 모든 원격 호스트에 대한 요청을 터널링하는 다른 솔루션을 검사해야합니다.

이것은 -L스위치 의 세 번째 사용법입니다 man ssh.

 -L [bind_address:]port:host:hostport
 -L [bind_address:]port:remote_socket
 -L local_socket:host:hostport
 -L local_socket:remote_socket
         Specifies that connections to the given TCP port or Unix socket on the
         local (client) host are to be forwarded to the given host and port, or
         Unix socket, on the remote side.  This works by allocating a socket to
         listen to either a TCP port on the local side, optionally bound to the
         specified bind_address, or to a Unix socket.  Whenever a connection is
         made to the local port or socket, the connection is forwarded over the
         secure channel, and a connection is made to either host port hostport,
         or the Unix socket remote_socket, from the remote machine.

         Port forwardings can also be specified in the configuration file.  Only
         the superuser can forward privileged ports.  IPv6 addresses can be
         specified by enclosing the address in square brackets.

         By default, the local port is bound in accordance with the GatewayPorts
         setting.  However, an explicit bind_address may be used to bind the
         connection to a specific address.  The bind_address of “localhost”
         indicates that the listening port be bound for local use only, while an
         empty address or ‘*’ indicates that the port should be available from
         all interfaces.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.