web-dev-qa-db-ja.com

Cygwin経由でSSHをインストールする

私はWindows8を搭載したラップトップを持っています。このラップトップからCygwin64経由でWindows2012サーバーにSSHをセットアップしようとしています。

説明されている手順に従いました ここ

しかし、私がその段階にいるとき:ssh-user-config、エラーが発生します:

ERROR: There is no home directory set for you in /etc/passwd.<br>
ERROR: Setting $HOME is not sufficient!

Cygwin64インストールフォルダに、ログインしているWindowsユーザーからコピーされたユーザーのホームディレクトリが表示されます(このユーザーは気の利いたものだと言ってください)。

ファイルも表示されますcygwin64/etc/passwd-しかし、ファイルには私のWindowsユーザー(気の利いた)が存在しません。

私が見る唯一の行は次のとおりです。

[computername]+sshd:*:197610:197121:[computername]\sshd,S-1-5-21-1837826546-2281981055-3577963604-1002:/var/empty:/bin/false

以下を挿入して、passwdファイルを手動で追加しようとしました。

nifty:*:1:1:/home/nifty:/bin/bash/

私も追加しようとしました:

[computername]++sshd:*:1:1::/home/swuyts:/bin/bash

グーグルするとき、私が思いつくのは次のコマンドを実行することだけです。

mkpasswd -l -u >> /etc/passwd

これにより、Windowsに存在するいくつかのアカウント(管理者グループ、システムアカウント、上記の手順で作成したcyg_serverなど)が追加されることに気付きましたが、ssh-user-configを実行させるのに役立ちません。

誰かが私に進め方を説明できますか?

3
user1186098

これは一時的な問題です。 _ssh-user-config_スクリプトには修正が必要です。

「HowToGeek」チュートリアルがあなたの経験と一致しない理由は、Cygwinの最新リリース(1.7.34)がデフォルトのインストールで_/etc/passwd_と_/etc/group_を廃止したためです。最終的に発見したように、それらを再作成することは可能ですが、それらが存在しない場合、Cygwin DLLはWindowsネイティブユーザー/グループデータベースを使用します: [〜#〜] ad [〜#〜] 存在する場合、または [〜#〜] sam [〜#〜] 存在しない場合。

このスクリプトは、_/etc/passwd_からawkの内容を実行して質問に答えることができるという、時代遅れの仮定をしています。

Cygwinは最近、Linuxのプログラムと同じように機能する新しいgetent(1)プログラムを入手し、_/etc_ファイル、AD、およびSAMの違いを抽象化しました。スクリプトには、_/etc_ファイルを解析する代わりに、このツールを使用するためのパッチが必要です。

Cygwinメーリングリストで言うように、 [〜#〜] ptc [〜#〜]

2
Warren Young

setup.exeを再実行して、openssh-6.7p1-2に更新してみてください。これで問題が解決するはずです。

また、問題の原因(setup.exe現在のバージョンではなくパッケージの最初のインストールに「以前の」バージョンを選択)が解決されました。

0
AnrDaemon