FreeBSDの初心者向けWindowsからのリモートアクセス

かつて、Win XPで動作するマシン上でFreeBSDを実行しているリモートコンピューターへのリモートsshアクセスを確立する必要がありました。

Fryushkaでの作業、OpenSSLでのキー生成などについては個別のマニュアルが多数ありますが、この状況に適したマニュアルが見つからなかったため、個別の指示をまとめることにしました。

以下は、プラットフォームの準備からパフォーマンステストまでのプロセス全体の説明です。



パート1、準備。 ユーザーを作成し、必要な権限を付与します。


まず、すべての作業はFryushaの下のリモートコンピューターで行われます。

リモートコンピューターにユーザーがいなかったため、最初に作成する必要があります。



% sudo adduser





次に、おおよそ次のように回答できる質問に進みます。

Username: shurchik





Full name:



答えられません。これはユーザープロファイルのinfaです)、

UID (Leave empty for default):



システム自体に空き識別子を選択させ、これをスキップします)、

Login group [shurchik]: wheel



(ここではメインユーザーグループを入力します。デフォルトではユーザー名と同じですが、システム管理者を作成するにはwheelグループに配置することをおLogin group [shurchik]: wheel



します)

Login group is wheel. Invite shurchik into other groups?:



Login group is wheel. Invite shurchik into other groups?:



このユーザーを他のグループに含める必要がないため、リクエストをスキップすることもできます。その後、グループに追加することもできます)

Login class [default]:



私もスキップしますが、理論的には、ロケールを指定できます-レイアウトとユーザー言語、ロシア語)。

Shell (sh csh tcsh bash nologin) [sh]: bash



(これはシェルへのリクエストです。デフォルトのままのシェルを残すことができますが、より便利なbashまたはzsh)、

Home directory [/home/shurchik/]:



このホームディレクトリがHome directory [/home/shurchik/]:



場合はEnterを押し、そうでない場合は/ home / test /のように別のHome directory [/home/shurchik/]:



を書き込みます)

Home directory permissions (Leave empty for default):



アクセス権を強制することができますが、デフォルトではすべてをそのままにします)

Use password-based authentication? [yes]:



Use password-based authentication? [yes]:



通常の方法ではシステムにログインできないため、デフォルトのままにします)、

Use an empty password? (yes/no) [no]:



Use an empty password? (yes/no) [no]:



パスワードなしで入力しても意味がないため、デフォルトのままにします)、

Enter password:



ユーザーのパスワードを入力しますが、アスタリスクを使用してもパスワードがまったく表示されないことを考慮してください)、

Enter password again:



ここでもすべてが明確であるため、パスワードを繰り返してください)、

Lock out the account after creation [no]:







結局のところ、ユーザーのプロファイルは端末に表示され、同意するかどうかを尋ねます:

Username: shurchik

Password:******

Full name:

UID: 1010

Class:

Groups: wheel

Home directory: /home/shurchik/

Home mode:

Shell: /bin/bash

Locked: no

OK? (yes/no):






はいと入力します



Adduser: INFO: Successfully added (shurchik) to user database.





別のユーザーを作成する新しいリクエストに対して、noと答えます。

Add another user? (yes/no): no

Goodbye!








新しく作成されたユーザーがsudoの権利を持つためには、sudoersファイルにwheelグループ全体を登録するか、ユーザー自身のみを登録する必要があります。

これは次のように行われます。

ファイル/ PCBSD / local / etc / sudoersの行のコメントを外します

% wheel ALL=(ALL) NOPASSWD: ALL





(これは、パスワードなしでwheelグループのすべてのメンバーがsudo(スーパーユーザーdo)にアクセスできるようになったことを意味します)、

! sudoersファイルへの変更は、保存後すぐに有効になります。 440の権利を付与する必要があります。



新しいユーザーとしてログインします。

% su shurchik

password:








このユーザーが使用できるコマンドを確認できます。

% sudo –l





すべてのグループとそのメンバーのリストを表示できます:

% less /etc/group







パート2、メイン。 sshdデーモンの動作を構成します。

秘密鍵と公開鍵の生成。


私はOpensshプログラムで働きます。



1. sshプログラムのセットアップ

ゲートウェイのポート22を開きます。



最初に、デーモンがサーバーで実行されているかどうかを確認します。 (sshデーモンはsshdです)

方法:

% ps auwx | grep sshd







または

% sockstat -4l | grep :22





表示される場合:

sshd …tcp4 :22





ポート22がリッスンしていることを意味します(デフォルトでは、sshはこのポートを通過します)

ポートがリッスンしていない場合、sshデーモンは実行されていません。

または、単にコマンドを与えることができます:

% sudo /etc/rc.d/sshd start





悪態をついたら、構成ファイルを変更する必要があります。



次に、rc.conf.local構成ファイルに移動します(/ etcにあります)。 まだ作成されていない場合は、作成してそこにsshd_enable =” YES”を記述します。 (代わりに、単にrc.confに同じ行を書くことができます。)

これは、startコマンドでsshデーモンを起動できるようにするために必要です。 変更はすぐに有効になります。



もう一度、ssh startコマンドを実行します。

% sudo /etc/rc.d/sshd start



を開始% sudo /etc/rc.d/sshd start



必要があります。

次に、ポート22がリッスンしているかどうかをもう一度確認します。

% sockstat -4l | grep :22





出力する必要があります:

sshd …tcp4 :22





さらに、たとえば、localhostに接続するコマンドを指定できます。

% ssh localhost





接続が拒否された場合、sshは実行されていません。 そして、もう一度設定を確認する必要があります。



2.キー生成

キーを生成するコマンドを提供します。

% ssh-keygen





デフォルトの暗号化方式はrsaです。 たとえば、dsa暗号化方式を生成するには、 % ssh-keygen –t dsa



と言う必要があります。

秘密鍵/公開鍵のペアの生成が始まります。

言うでしょう:

Enter passphrase:



できれば長くて複雑)

キーは〜/ .sshディレクトリ(/home/shurchik/.ssh)に生成されます。



次に、そこにあるものを確認しましょう。

% ls –l ~/.ssh





id_rsaは秘密鍵です(たとえば、rsaとだけ呼ぶことができます)。

id_rsa.pubは公開キーです(たとえば、rsa.pubと呼ぶことができます)。



次に、分かりやすい方法で公開キーをサーバーに配置する必要があります。 これを行うには、次を実行します。

id_rsa.pubファイルの内容をauthorized_keysファイルの内容に追加します。

これは次のコマンドで実行されます。

% cat id_rsa.pub >> authorized_keys





id_rsa.pubの内容をauthorized_keysファイルの最後に追加します。 そうでない場合は、作成します。 catは連結の略です。



authorized_keysファイルがまったくない場合は、id_rsa.pubをコピーして作成できます。

% cp id_rsa.pub authorized_keys







.sshフォルダーの内容を再度確認します。

% ls –l ~/.ssh





(このようなものでなければなりません)

id_rsa

id_rsa.pub

authorized_keys








リモートコンピューターにauthorized_keysファイルを残し、id_rsaとid_rsa.pubを別の場所に保存して、〜/ .sshフォルダーから削除します。 それ以外の場合はすべてを再生成する必要があるため、公開鍵を紛失しないことが重要です。

そして最後に、リモートマシン上のホスト名を見つけます(sshを介して接続する場合に必要です)。その後、稼働中のコンピューターに移動し、既にホストを苦しめます。

% hostname

testhost








ここで、コンピューターのIPアドレスを見つけます。

% host testhost







!注:FreeBsd7は、Puttyと互換性のあるdes-encryption方式を使用します。 ただし、FreeBsd9はすでに別の暗号化方式を使用しているため、このプログラムでは認識されません。 したがって、この場合、putty-genプログラム自体にすでにキーを生成し、それらをUnixが理解できる形式に変換する必要があります。



3.秘密鍵をPuttyが理解できる形式に変換します。

(Windowsの場合)

Puttyプログラムをダウンロードしてインストールします。 新しく生成されたキーをWindowsマシンに持ち込みます。 Puttyは、1つの形式(=).ppkのキーのみを理解します



Putty-genプログラムを実行します(メインと同時にまたは個別にインストールされます)。

a。 ファイル読み込み秘密鍵(秘密鍵が必要な稼働中のマシンにPuttyがインストールされているため、変換します。)

b。 秘密鍵を保存します(例:id_rsa.ppk)



パート3、厳mn。 Puttyを構成し、暗号化されたリモート接続を確立します。


1. Puttyを実行します。

設定は次のとおりです。



セッション:ホスト名testhost(またはip)



ログ:任意のログ、オプションの+マークは常にログを上書き(または末尾に追加)し、毎回ログを書き換えるかどうかを尋ねないようにします。



ウィンドウ:翻訳utf-8



接続:自動ログインユーザー名shurchik



SSH:参照... id_rsa.ppkファイルへのパスを指定します(どこでもかまいませんが、パテはまったく無関心です。どこで入手できますか。)



そして今、すべてを保存します。

セッション:保存されたセッション:新規(このセッションの名前を設定)、[保存]をクリックすると、新しいセッションがリストに表示されます。

後ですべてを設定せずに呼び出すには、Puttyを起動した後、リストから「new」を選択して「Load」を押します。

[開く]をクリックすると、ターミナルが開き、パスフレーズの入力を求められます。

キーに問題が発生した場合、悪態をつくプログラムはユーザー名とパスワード(shurchikとパスワード)を要求します。



2.最終的に、ログインパスワードを使用したリモートコンピューターへの暗号化された接続へのアクセスを禁止できます (パスフレーズ接続のみを許可します)。

リモートコンピューターで、ssh構成ファイルに移動します。

/ etc / ssh / sshd_config。

そこで、次の行を追加(またはコメント解除)する必要があります。

UsePAM番号



次に、sshを再起動する必要があります。

% sudo /etc/rc.d/sshd stop

% sudo /etc/rc.d/sshd start








それだけです!



All Articles