デスクトップにリモートアクセス用にsshサーバーをセットアップしようとしていますが、いくつかの問題が発生しています。私が最初に見つけたのは、sshdが起動時に起動していないということです。私が走るとすぐに:
Sudo service sshd start
手動で自分自身からコンピューターにSSHで接続できるので、sshデーモンが正しくインストールされていることがわかります。今、私はそれを起動時に開始したいだけです。
それを調べた後、私はで見つけました
/etc/rc.d/rc3.d
スクリプトを見つけました
K##sshd
またはそれらの線に沿った何か。 Kは、ランレベル3に入ると、sshdをシャットダウンしていることを意味していると思います。起動するために必要なのは、ファイルS ## sshdを作成して再起動することだけです。それとも、これを実行するためのより良い方法があります。名前を変更してランダムなファイルを作成する前に、もっと知識のある意見を聞く必要があると思いました。
Kは、ランレベル3に入ると、sshdをシャットダウンしていることを意味すると思います。
はい。 Kはキルを表します。
これは古いSystemVスタイルのスタートアップです。基本スクリプトはすべてinit.dにあり、実際に実行されるrc?.dディレクトリには特定の命名規則(S00 ...、K99 ...)のさまざまなシンボリックリンクがあります。
ランレベルをたとえば1から3に変更すると、initプロセスは、古いランレベルのディレクトリ(/etc/rc.d/rc1.d/)に移動するスクリプトを生成し、Kで始まるすべてのスクリプトを次のように実行します。
K_NUMBER_some_service stop
次に、新しいランレベルのディレクトリ(この場合は/etc/rc.d/rc3.d)に移動し、Sで始まるすべてのスクリプトを次のように実行します。
S_NUMBER_some_service start
スクリプトはアルファベット順に実行されます。この順序は通常、00〜99の範囲の[〜#〜] number [〜#〜]によって決定されます。順序は重要です。ネットワーキングを開始する前にsshdを開始したくない場合です。
理論的には、実行する番号/順序を決定する方法を知っている場合は、シンボリックリンクを手動で実行できます。ほとんどのスクリプトには、コメントとしてこの注文番号があります(head /etc/rc.d/init.d/sshd
を試してください)。しかし、あなたは仕事に適切なツールを使用する方がはるかに良いです。 Redhatには、ntsysv
と、system-config-services
があります。必要に応じて、コマンドラインツールchkconfig
を使用することもできます。おもう
chkconfig --level 2345 sshd on
あなたがやりたいことをするでしょう。 chkconfig --list sshd
で確認してください
Redhatは、ntsysvツールを使用してrcN.dディレクトリのサービスを有効/無効にします。
ランレベル3(マルチユーザーモード、コンソールログインのみ)でログインしようとしている場合、やりたいことは$ Sudo init 3
。これを行う別の方法は、カーネルパラメータ「3」を追加することです。grubが起動しているときに「e」を押してカーネル起動オプションを変更します。
警告:これをランレベル5で実行されているマシン(マルチユーザーモード、ディスプレイマネージャーとコンソールログイン)に適用すると、X11が強制終了され、コンソールモードでのログインが強制されます。