web-dev-qa-db-ja.com

CygwinSSHが設定ファイルを読み取っていない

Cygwinのsshが%HOME%/.ssh/configにある私の設定ファイルを読み取っていません。

Cygwinをインストールしていますが、WindowsではDOSのような環境を使用することを好みます。 PATHにCygwinbinディレクトリがあり、Cygwinの外部でUnixライクなコマンドをよく使用します。

私はCygwinにログイン(または.bashrcを実行)していないので、コマンドがWindowsによって設定された環境変数を使用することを期待していました。 HOMEC:\Users\Vinceに設定されており、sshがC:\Users\Vince\.ssh\configで構成ファイルを見つけることを期待していましたが、-Fオプションを使用して指示しない限りそれは起こりません。あっち見て。

Cygwinのsshが設定ファイルを探している場所を確認するにはどうすればよいですか?それは変更できますか?

ありがとうございました。

4
Vince

コメントでのQ&Aに基づいた私の答えは次のとおりです。

デフォルトでは、Cygwinは/home/Userにユーザーホームディレクトリを作成します。Windowsシステムでは、ホームディレクトリは別の場所にあります-

これを修正するには、/etc/nsswitch.confを開き、この行で編集します

db_home: windows

すべてのCygwinターミナルセッションを閉じて、再起動します。ここで再びecho $HOMEになり、ウィンドウ%HOME%に設定され、/homeにあるものを使用しなくなったことがわかります。

編集

削除する必要がある場合もあります

/ etc/passwd
/etc/group

これはウィンドウに延期されるはずなので。

7
Matt Clark

Cygwin(cygrunsrv)が正しくインストールされているかどうかを確認するには、C:\ cygwin\Cygwin.batを実行し、次のコマンドを実行します。

cygrunsrv -h

Cygwinが正しくインストールされている場合、すべてのCygwinヘルプオプションが画面に表示されます。ただし、このコマンドがエラーメッセージを返す場合は、Cygwinを再インストールする必要がある場合があります。

SSHDサービスを構成するには、C:\ cygwin\Cygwin.batを実行し、次のコマンドを実行します。

ssh-Host-config

コマンドを実行すると、次の質問が表示されます。

  • クエリ:特権の分離を使用する必要がありますか? : はい
  • クエリ:新しいローカルアカウント 'sshd'? : はい
  • クエリ:sshdをサービスとしてインストールしますか?
  • クエリ::はい
  • クエリ:デーモンのCYGWINの値を入力します:[] binmode ntsec
  • クエリ:別の名前を使用しますか? (はい/いいえ)はい/いいえ

この時点で、同じ名前、つまりcyg_serverを使用する場合は、noと入力します。次に、次の質問が表示されます。

  • クエリ:新しい特権ユーザーアカウント 'cyg_server'を作成しますか? (はい/いいえ)はい
  • クエリ:パスワードを入力してください:
  • クエリ:借受人:

ただし、別の名前を使用する場合は、「はい」と入力します。次に、次の質問が表示されます。

  • クエリ:新しいユーザー名を入力します:cyg_server1
  • クエリ:再入力:cyg_server1
  • クエリ:新しい特権ユーザーアカウント 'cyg_server1'を作成しますか? (はい/いいえ)はい
  • クエリ:パスワードを入力してください:
  • クエリ:再入力:

構成が成功すると、次のメッセージが表示されます。

ホスト構成が完了しました。楽しんで!

0
Setekh

ここでの問題の一部は、$ HOMEに割り当てられたフラクチャされたオーバーロードされた意味です。 CygwinとWindowsを混在させているときに、すべてのユーザー情報を1つのディレクトリにマッシュしようとするのは、悪い考え(tm)です。

競合しない限り、複数の「システム」を使用する必要はありません。それらをあまりにも密接に共存させようとすると、解決できない問題が発生します。これが、bash、ksh、zshが独自のプロファイルを持っている理由であり、100%互換性はありません。

CYGWIN用に別の/ home/USERNAMEディレクトリを用意することをお勧めします。互換性があり、共有する必要があることがわかっている場合は、then両方の世界からアクセスできるようにするための手順を実行できます。 Cygwinを使い始めたばかりの場合は、Windowsで使いすぎないようにする必要があります。

通常、WindowsにはHOMEディレクトリがありませんが、一部のソフトウェアはそれを探しています。問題はあなたが本当に2つの家を持っているということです。慎重に踊ります。

0
Bernard Badger