Puppy Linux에서 sshd를 시작하는 방법은 무엇입니까?

Puppy Linux에서 sshd를 시작하는 방법은 무엇입니까?

강아지 리눅스에 sshd를 설치했습니다. 누군가 sshd를 시작하는 방법을 말해 줄 수 있나요?

답변1

Bionic Puppy Linux에서 sshd(ssh 서버)를 설정하는 데 유용한 지침을 여기에서 찾았습니다.PuppyLinux 뉴스레터 - 2018년 12월

  1. 모든 강아지에는 기본적으로 SSH가 설치되어 있어야 합니다. 이름에도 불구하고 이는 사용자가 다른 운영 체제(예: Raspberry Pi, Ubuntu, Antix 등)를 실행하는 호스트에 로그인할 수 있도록 하는 SSH의 클라이언트 부분일 뿐입니다. /etc/에서 ssh_config 파일을 찾아 설치를 확인하세요. SSH. 이 파일을 편집할 필요는 없지만 경우에 따라 서버로 실행하려면 이 파일에 대한 권한을 변경해야 할 수도 있습니다.

    다른 Linux 배포판(예: Ubuntu)이 동일한 LAN에서 SSH 서버를 실행하는 경우 10단계에 따라 Puppy가 클라이언트로 작동하는지 테스트할 수 있습니다. 설정의 일부로 로컬 또는 호스트 장치에서 8단계를 수행할 수 있으므로 이는 필요하지 않습니다.

  2. SSH를 서버로 실행하려면 호스트 보안 셸에 대한 액세스를 요청하는 클라이언트를 포트 22(또는 다르게 구성)에서 수신 대기하는 SSH 데몬 서버인 SSHD를 설치해야 합니다. 호스트 소프트웨어 Openssh-server는 PPM에서 설치할 수 있습니다. LX Bionic 강아지 버전 7.6p1 및 이전 Tahrpuppies 버전 6.6.1p1부터 시작합니다.

  3. PPM에서 Openssh-server를 설치한 후 /etc/ssh. 이 폴더에는 두 개의 구성 파일, ssh_configsshd_configmoduli.conf라는 파일이 있어야 합니다 .

    기본 sshd_config파일이 다음과 같을 가능성이 있는 경우아니요존재하는 경우 다음에서 스크립트를 다운로드하십시오. https://github.com/openssh/openssh-portable/blob/master/sshd_config

    스크립트를 새로 생성된 텍스트 파일이나 삭제된 기존 셸 스크립트에 붙여넣고 sshd 스크립트로 채운 다음 이름을 바꿔야 합니다. 파일을 편집하거나 액세스할 수 있도록 하려면 권한을 변경해야 할 수도 있습니다.

    실패하면 SSHD가 설치된 다른 운영 체제 Linux 배포판에서 파일을 복사하세요. 그러나 기본 스크립트로 시작하는 것이 가장 좋습니다.

  4. sshd_config이제 이 파일을 편집하여 Puppy Linux에서 실행해야 합니다.

    경험상 스크립트의 다음 행 중 일부는 RHS(#) 주석에 표시된 것처럼 다른 행보다 더 중요해 보입니다. 아래 나열된 줄 왼쪽에 있는 "#" 주석 태그를 모두 제거하고 아래와 같이 편집합니다. 선택적 줄은 기본 구성이므로 주석으로 남을 수 있어야 합니다.

    Port 22 # Optional, as this is the default
    AddressFamily any # Optional ?
    LoginGraceTime 2m # Optional 
    PermitRootLogin yes # Critical for puppy linux
    PubkeyAuthentication no # Critical for initial use
    PasswordAuthentication yes # Critical for initial use 
    PermitEmptyPasswords yes # Optional, otherwise use no
    ChallengeResponseAuthentication yes # Critical for initial use
    UsePAM no # Critical
    AllowTcpForwarding yes # Optional ?
    X11Forwarding yes # If one wishes to run GUI applications in the host computer 
    X11DisplayOffset 10 # Recommended
    X11UseLocalhost yes # Optional ?
    PrintMotd no # Optional ?
    TCPKeepAlive yes # Optional ?
    Subsystem sftp /usr/lib/openssh/sftp-server # Optional ?
    
  5. 이제 터미널에서 SSHD 서버를 시작할 준비가 되었습니다 /etc/init.d/ssh start. 아직 모든 기능이 설정되지 않았기 때문에 오류 메시지가 나타납니다. 지금은 이러한 항목을 무시하세요.

  6. 어쨌든 이제 SSH가 실행 중인지 확인할 수 있습니다. 터미널에서 실행하면 netstat -tupan호스트 장치가 수신 대기 중인 모든 포트 목록이 표시됩니다. 우리가 찾고 있는 라인은 포트 22를 참조하며 다음과 같습니다:

    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6866/sshd 
    

    포트 22만 나열하는 더 짧은 출력의 경우 다음을 사용합니다( netstat -anplt | grep :22공백 참고). SSHD가 실행 중인 경우 다음이 제공됩니다.

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6866/sshd 
    

    포트 22가 나열되지 않으면 SSH가 실행되고 있지 않으며 설정을 확인해야 함을 의미합니다.

  7. 다음 단계는 파일 /etc/hosts.allow/etc/hosts.deny설정이 올바른지 확인하는 것입니다. 분명히 Puppy Linux는 "루트" 사용자로 실행되기 때문에 운영 체제는 보안 조치로 대부분의 포트에 대한 액세스를 자동으로 차단하도록 설정되어 있습니다.

    # ALL: ALLin을 사용하여 제거하거나 주석을 달고 hosts.deny데이터를 hosts.allow다음으로 변경합니다.

    ALL: LOCAL
    SSH: ALL
    

    이 조정은 MPD를 사용한 음악 스트리밍과 같이 원격 액세스가 필요한 다른 애플리케이션에도 중요합니다.

  8. 로컬 SSH를 테스트하려면 방화벽을 꺼야 합니다. SSHD는 별도의 클라이언트 장치를 사용하기 전에 localhost에 연결할 수 있어야 합니다.

    다음 명령을 사용하여 터미널에서 설정을 테스트합니다.ssh -vvv root@localhost 또는 ssh -vvv [email protected](여기서는 127.0.0.1로컬 호스트의 IP 주소를 사용하여 결정됩니다 ifconfig).

    스위치를 로 설정하면 -vvv확장된 자세한 출력이 제공되므로 작업이 중지된 위치를 확인할 수 있습니다. 정보가 적으면 대신 사용하세요 -v.

    다음 오류가 보고될 때까지 SSHD가 계속 실행될 가능성이 높습니다.

    debug1: SSH2_MSG_KEXINIT sent
    Read from socket failed: Connection reset by peer 
    OR ssh_exchange_identification: read: Connection reset by peer
    OR ssh_exchange_identification: read: Closed by unknown
    

답변2

일반적으로 스크립트를 사용하여 Puppy에서 서비스를 시작할 수 있습니다 /etc/init.d.

$ sudo /etc/init.d/sshd start

이미 다음과 같이 실행되고 있는 경우:

$ netstat -anplt | grep :22 
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:22     0.0.0.0:*      LISTEN      -
tcp6       0      0 :::22          :::*           LISTEN      -

그러면 데몬이 포트 22에서 실행 중이고 수신 대기 중임을 알 수 있습니다. 이 경우 귀하의 질문은 이 스레드에서 논의된 다음 제목의 질문과 관련될 수 있습니다.강아지 컴퓨터에 SSH를 통해 연결할 수 없습니다. 연결이 거부되었습니다. .

Puppy를 사용하여 방화벽이 활성화되어 있으며 SSH 액세스를 허용하려면 규칙을 추가하거나 비활성화해야 합니다. 이렇게 하려면 를 iptables사용하여 방화벽을 조작해야 합니다. 예를 들어:

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

관련 정보