Puppy Linuxでsshdを起動する方法は?

Puppy Linuxでsshdを起動する方法は?

子犬Linuxにsshdをインストールしました。誰かがsshdを起動する方法を教えてもらえますか?

答え1

Bionic Puppy Linuxでsshd(sshサーバー)を設定するのに役立つガイドラインがここで見つかりました。PuppyLinuxニュースレター - 2018年12月

  1. すべての子犬にはデフォルトでSSHがインストールされている必要があります。名前にもかかわらず、これはユーザーが他のオペレーティングシステム(Raspberry Pi、Ubuntu、Anticsなど)を実行しているホストにログインできるようにする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。このフォルダには2つの設定ファイル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は「root」ユーザーとして実行されるため、オペレーティングシステムはセキュリティ対策としてほとんどのポートへのアクセスを自動的にブロックするように設定されています。

    # 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

関連情報