SSH, 보안 쉘 이상

SSH(보안 쉘) 기본적으로 Telnet처럼 원격 컴퓨터에 안전하게 액세스하는 데 도움이되는 프로토콜이지만, 특히 조직 내에서 중요한 기능을 수행하는 컴퓨터에 액세스하려는 경우 연결을 안전하게 유지하는 데 도움이되는 암호화 알고리즘을 사용합니다.

일반적으로 액세스하려면 사용자 이름과 컴퓨터 주소를 제공해야합니다. 그러면 SSH 서버가 액세스 암호를 요청합니다.

ssh usuario@equiporemoto

클라이언트가 원격 컴퓨터와 우리 사이의 첫 번째 연결을 시작하는 순간부터 정보는 이미 안전하게 이동하여 누군가가 해당 컴퓨터에 대한 액세스 자격 증명을 얻지 못하도록 차단하지만 SSH는 우리에게 많은 가능성을 제공하는 매우 적응 가능한 프로토콜입니다.

SCP

첫 번째는 대부분의 SSH 서버에서 구현하는 SCP (Secure CoPy)를 사용하여 FTP 또는 NFS 서버를 마운트 할 필요없이 클라이언트와 원격 컴퓨터간에 파일을 전송할 수 있다는 것입니다.

scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt

SSH 터널링

이 기능은 클라이언트와 원격 컴퓨터간에 셸 명령이 아닐 수도있는 정보 (예 : 일반 검색)를 보내고받을 수 있기 때문에 매우 유용합니다. 이것이 무엇을 사용할 수 있는지 짐작할 수 없다면 다음을 생각해보십시오. 페이지에 액세스해야하지만 현재 위치에 해당 페이지를 정확히 차단하는 방화벽이 구현되어 있으므로 원격으로 '터널링'을 수행 할 수 있습니다. 잠금을 말하지 않고 SSH 세션을 통해 해당 페이지를 탐색하는 컴퓨터 :

ssh -D 8888 usuario@equiporemoto

연결되면 SSH 클라이언트가 포트 8888에서 프록시 서버로 '수신'하므로 브라우저를 구성하고 모든 트래픽이 SSH 세션을 통해 전송됩니다.

SSH 터널

저에게 발생하는 또 다른 예는 지리적 제한으로 인해 현재 위치에서 웹 서비스에 액세스 할 수없는 경우, 터널을 만들 때 웹 서비스가 클라이언트 IP가 아닌 원격 서버의 IP를 소스로 감지한다고 말했습니다. 이는 VPN (가상 사설망)과 다소 동일합니다.

역방향 SSH

어떤 이유로 방화벽 뒤에있는 컴퓨터에 액세스해야하는데 SSH 트래픽을 리디렉션 할 수없는 경우 해당 컴퓨터가 다른 SSH 서버에 연결되는 방식으로 '역 SSH'를 수행 할 수 있습니다. 방화벽 뒤의 장비에 액세스하기 위해 연결할 수도 있습니다. 마음에 드는 예는 모뎀에서 리디렉션을 구성하는 방법을 모르는 친구를 돕고 싶지만 원격으로 그의 컴퓨터에 액세스해야하는 경우입니다.

친구-> 모뎀-> SSH 서버 <-회사 소개

따라야 할 단계는 비교적 매우 간단합니다.

아미고
ssh -R 9999:localhost:22 usuario@servidorssh

우리
ssh usuario@servidorssh
SSH 서버에 들어가면 다음을 사용하여 친구의 팀과 연결할 수 있습니다.
ssh amigo@localhost -p 9999

보시다시피 모든 마법은 -R 매개 변수에 있습니다.이 매개 변수는 중간 서버에 포트 9999에서 우리 친구의 컴퓨터가 현재 서버로 수신하고 있음을 알려줍니다.

이것들은 SSH가 우리에게 제공하는 몇 가지 가능성 일뿐입니다. RSA 키를 사용하여 무인 스크립트를 수행하고 X 세션 (그래픽 모드)을 그래픽 환경으로 리디렉션 할 수 있습니다.


21 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   천체

    훌륭한 기사, 집에 가서 연습을 시작하고 싶습니다.

    1.    adr14n

      감사합니다! 실제로 내 첫 블로그 게시물이며이 댓글을 읽는 것이 정말 좋습니다. 건배!

  2.   파블로 카르도 조

    바로 어제이 주제에 대해 질문을했는데 다음과 같습니다.

    전체 폴더를 scp 할 수 있지만 파일의 날짜를 고려하는 방법이 있습니까? 즉, 얼마 전에 다운로드 한 파일이 많은 폴더가 있는데 특정 날짜부터 해당 폴더에 업로드 된 것만 다운로드하고 싶습니다.

    인사와 미리 감사드립니다.

    1.    엘라 브

      SSH를 통한 RSYNC로 할 수 있습니다. 😉

      1.    Giskard

        rsync는 항아리의 뚜껑입니다 !!! 😀

      2.    Eduardo

        나는 당신이 일제히 시도하는 것이 좋습니다, 그것은 스펙터클 러이며, 저장소에서 사용할 수 있습니다 (적어도 데비안과 우분투)

        http://www.cis.upenn.edu/~bcpierce/unison/

        다른 컴퓨터에서 디렉터리를 동기화하는 것 외에도 다른 컴퓨터에 메모를 매일 백업하는 데 사용합니다.

        사용하기 매우 쉽습니다

        나는 그것이 당신에게 유용하기를 바랍니다!

        Exitos
        Eduardo

    2.    왼손잡이

      그것은 rsync와 같은 작업으로 보이지만 구체적으로 수행하는 매개 변수가 있는지 모르겠습니다. 그렇지 않으면 스크립트에서 처리해야 할 수도 있습니다.

    3.    adr14n

      나에게 일어나는 일은 날짜순으로 ls를 만들고 거기에서 간단한 scp로 필요한 것을 복사하는 것입니다. 왜냐하면 scp는 그들이 말하는 것만 큼 많은 기능을 가지고 있지 않기 때문에 rsync를 가지고 있기 때문입니다.

  3.   anonimo

    나는 리버스 ssh가 고급 스럽다는 것을 증명한다. 나는 그것을 내 PC와 700km 이상 떨어져있는 다른 PC 사이에 사용했고 문제는 전혀 없었다.
    이 기사를 주셔서 감사합니다. 매우 가치가 있습니다.

  4.   중지

    너무 짠! Haha 저는 ssh에 많은 가능성이 있다는 것을 몰랐습니다. 저는 이미 ssh 서버를 설정하는 방법을 배우고 그 기능을 실험하기 시작하고 싶습니다. 단 한 가지만 있습니다. 각 매개 변수의 기능을 설명해 주시겠습니까?

    1.    adr14n

      ssh man에 따르면 -D는 로컬에서 '동적 애플리케이션 전달자'를 지정하는 데 사용되며,이 기사에서 설명했듯이 동일한 SSH 세션 내에서 터널을 통해 트래픽을 전달하는 데 사용됩니다. -R은 '전달'을 통해 로컬 컴퓨터로 리디렉션 될 원격 포트를 지정합니다. 마지막으로 -p는 ​​표준 포트를 사용하지 않을 때 클라이언트가 연결해야하는 포트를 지정합니다. 22

  5.   마누엘엠덴

    이 주제를 다룬 좋은 점, ssh 키에 대한 질문이 있습니다. 다른 서비스에 대해 둘 이상의 키를 생성 할 수 있습니까? ssh 키 관리에 대한 게시물을 작성했으면 좋겠습니다. Google에 답이 있다는 것을 알고 있지만 바라건대 그들은 그것에 대해 이야기 할 것입니다.

    안녕하십니까!

    1.    adr14n

      SSL 키를 통한 인증을 사용하는 경우 동일한 (사용자의 컴퓨터)를 다른 서비스로 내보낼 수 있으며 동일한 방식으로 컴퓨터가 서버 인 경우 다른 컴퓨터의 다른 키를 통합 할 수 있습니다. 내가 귀하의 질문에 대답했는지는 모르겠지만 이해했습니다. 건배

  6.   루이스

    ssh를 통해 응용 프로그램을 원격으로 실행하고 로컬 응용 프로그램 인 것처럼 컴퓨터에서 볼 수있는 방법이 있었던 것을 기억합니다.

    예를 들어, 파이어 폭스를 실행할 수 있고 로컬 컴퓨터에서보고 제어 할 수 있지만 프로세스는 원격 컴퓨터에서 실행됩니다.

    리소스가 부족한 컴퓨터에서 특히 유용하지만 안타깝게도이 문제를 제어하지 못하고 컴퓨터를 구성하는 방법도 모릅니다.

    누구든지 그것에 대해 알고 있습니까?

    1.    직원

      이와 같은 경우 VNC를 사용하는 것이 편리하고 SSH로 터널링 할 수 있습니다.

      1.    x11tete11x

        @Staff 나를 위해 VNC .. VNC와 함께 사용하는 것이 편리하지 않을 것입니다. 만약 내가 나쁘지 않다면 전체 데스크톱을 가져 오십시오 ..

        @Luis, ssh에 "-X"매개 변수를 추가하기 만하면됩니다 (서버에서 X 전달을 허용해야 함).

        http://i.imgur.com/NCpfzBL.jpg

      2.    직원

        @ x11tete11x
        Luis가 언급 한 것을 고려할 때 다음과 같은 이유로 다른 대안을 제시 할 생각을했습니다.

        1. "자원이 거의없는 컴퓨터에서 특히 유용합니다 ..."

        -단일 응용 프로그램의 경우 리소스를 많이 소모하지 않을 수 있지만 x 전달로 10 개의 창을 열려고하면 VNC가 "전체 데스크톱을 가져 오지 못"하기 때문에 단일 VNC 인스턴스를 사용하는 것보다 시스템이 계속해서 더 열심히 작동합니다.
        -클라이언트에서 프로그램을 닫으면 서버에서도 동일하게 종료됩니다 (내가 틀렸다면 누군가 수정). 예를 들어 VNC를 사용하면 토렌트 다운로드를 밤새도록두고 아침에 다시 로그인 할 수 있습니다. 내가 떠난대로 모든 것이 계속 될 것입니다.
        -VNC는 시스템에 구애받지 않는 프로토콜이며 Win, Andorid, Mac OSX 등의 클라이언트에서 액세스 할 수 있습니다. VNC 클라이언트 이외의 다른 것을 설치할 필요없이 GNU / Linux 프로그램을 사용하십시오.

        그리고 2. "... 안타깝게도 저는이 문제를 제어하지 못하며 그렇게하도록 컴퓨터를 구성하는 방법을 모릅니다."

        X 구성 파일을 이동하는 것보다 VNC를 설치하고 SSH 터널을 구성하는 것이 (GUI로 수행됨) 훨씬 더 쉽습니다 (그리고 잘못 입력하고 데스크탑없이 다시 시작할 위험이 없음).

      3.    루이스

        의견을 보내 주셔서 감사합니다.

        내 소규모 서버의 원격 콘텐츠에 액세스하기 위해 오랫동안 SHFS와 함께 SSH를 사용해 왔지만 그래픽 환경에서 원격 애플리케이션을 실행할 수 없었습니다.

        작동 방식을 확인하기 위해 두 가지 옵션을 모두 시도해 보겠습니다. x11tete11x에 따르면 매개 변수 만 추가하면되므로 처음에 제가 말한 내용이 더 간단 해 보입니다.

        나중에 나는 조금 크므로 VNC를 구성하는 간단한 방법을 찾을 수 있는지 볼 것입니다. 저는 Arch 사용자이므로 확실히 위키에 정보가있을 것입니다. 또 다른 것은 제가 알아봐야 할 것입니다. 헤 헤헤

        인사말.

    2.    adr14n

      -X 매개 변수를 세션에 전달하여 수행 할 수 있지만 네트워크의 컴퓨터에서 연결을 허용하도록 X 서버를 구성해야합니다. xhost 유틸리티로 구성되어 있다고 생각합니다. 직원이 언급했듯이 VNC도 매우 좋은 옵션입니다.

    3.    마리오

      X11 포워딩입니다. 여기이 사이트에 이에 대한 게시물이 있습니다.
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    루이스

      정보 친구 주셔서 감사합니다.

      나는 두 가지 옵션을 모두 사용하여 어느 것이 나에게 더 적합한 지 확인하겠다고 말했습니다.

      안녕하십니까!