cygwinを使ってWindows 7へのsshコマンドラインアクセスを得る方法

あなたはLinux / Unixに慣れていて、Windows 7マシンへのSSHアクセスを望んでいますか? Cygwinはこの機能を提供し、いくつかの簡単な手順で使い慣れた環境を提供します。

Cygwinをインストールして設定していると仮定しています。そうでない場合は、CygwinでWindowsでLinuxコマンドを使用する方法の記事を参照してください。

OpenSSHは私たちが使用する予定なので、インストールしていない場合は、Cygwinのsetup.exeファイルを見つけて実行してください。

もともとCygwinを設定した時と同じデフォルトを維持することができます。パッケージ選択画面で「開く」を検索し、「ネット」メニューの下を見ます。

“openssh”というパッケージがあります。 [Bin?]列にXが表示されるまで、[Skip]と表示されている[New]列の下をクリックします。前のスクリーンショットを見て、混乱しているところをクリックしてください。前回と同じように、「次へ」を押して残りのセットアッププロセスを完了します。

ほとんどのLinuxディストリビューションとは異なり、OpenSSHは自動的に動作して動作するようには構成されません。簡単な手順をいくつか実行する必要があります。まず、Cygwinのショートカットを右クリックし、[管理者として実行]をクリックします。

これにより、私たちがすべてのものに対して適切な特権を持っていることが保証されます。空のCygwinウィンドウが表示されます。

次のコマンドを入力します。

ssh-host-config

スクリプトがいくつかのデフォルトファイルを生成し、 “Privilege Separation”を有効にするかどうかを尋ねるメッセージが表示されます。デフォルトでOpenSSHを他のシステムに標準インストールしているので、 yes “を入力します。

特別な権限を持つ新しいアカウントを作成するように求められます。 「はい」を選択すると、スクリプトは続行されます。

次に、sshdをサービスとして実行するかどうかを尋ねられます。これにより、Cygwinが現在動作しているかどうかに関わらずSSHアクセスが可能になります。続行するには “yes”を押してください。

次に、デーモンの値を入力するよう求められます。次のように入力します

ntsec

スクリプトがあなたのシステムに関するいくつかの情報を与えた後、デフォルトのユーザ名 “cyg_server”を持つ特権アカウントを作成するように求められます。デフォルトはうまくいくので、別のアカウント名を使用するかどうかを尋ねるときに「いいえ」と入力しますが、本当に好きな場合はこれを変更できます。

もちろん、このアカウントのパスワードも入力する必要があります。

Cygwinはあなたのパスワードをプレーンテキストで確認のために表示しますので、安全な場所にいることを確認してください。余分な情報が表示されるのを見て、うまくいけば、正常に完了したというメッセージが表示されます。

再起動するか、次のコマンドを入力してsshdサービスを開始することができます

net start sshd

これで、このexitを入力してこのCygwinインスタンスを閉じることができます。

次に、ユーザーアカウント用の適切なSSHキーを作成します。 Cygwinを正常に開き、以下のコマンドを入力します。

ssh-user-config

あなたのユーザーアカウント用の特定のキーを作成するよう求められますので、必要なものを使用してください。私は先に進み、最初の質問には「いいえ」と答え、2番目の質問には「はい」と答えました。

SSH2はより安全ですので、私はそれをお勧めします。パスワードを入力すると、そのIDを使用してマシンにアクセスするかどうか尋ねられます。 「はい」と入力します。

次に、パスワードなしのアクセスを使用する場合は、SSH2 DSA IDファイルを作成するように求められます。私はこのステップで辞退した。

それでおしまい!あなたはすべて設定されています。設定をすばやくテストしたい場合は、Cygwinのウィンドウで次のコマンドを入力してください

ssh -v localhost

-vオプションは “verbose”の略で、プロセスの詳細をすべて示します。接続を続行するかどうか尋ねられますので、 “yes”と入力してプロンプトにパスワードを入力してください。ユーザー名を入力するときは、大文字と小文字が区別されます。

すべてうまくいけば、通常のbashプロンプトが表示されます。

設定手順のいずれかで自分自身が悩んでいる場合は、実行しているWindowsユーザーアカウントに管理者権限があることを確認してください。通常のユーザーとしてホスト構成を実行しようとすると、奇妙なエラーが発生する可能性があるので、そのステップで管理者権限でCygwinを実行してください。終了時に、バッチジョブを実行中にすることを知らせるプロンプトが表示されたら、「いいえ」を押すと終了することができます。

最後に、別のマシンからSSHアクセスをテストしてエラーが発生した場合は、ファイアウォールがポート22(またはSFTPを使用している場合は23)へのアクセスをブロックしていないことを確認してください。

これは、Windows 7マシンでファイルへのSSH / SFTPアクセスを取得する機能が好きで、使い慣れたシェルでそれを行うことが望ましい場合は、非常にうまく機能します。 CygwinはWindowsドライブを “/ cygdrive / driveletter”にマウントします。

単にPuTTYを使わないのはなぜですか?オープンソースで無料です。

PuTTYを使用すると、Windowsを使用して別のコンピュータにSSH接続できます。 Cygwinは実際にあなたのWindowsマシン上でSSHサービスを実行して、別のコンピュータからSSHをSSHできるようにします。また、Cygwinはオープンソースで無料です。

PuTTYはシンプルでインストールは不要ですが、なぜこの時間を使うのでしょうか?

SSHクライアントであり、SSHサーバーではありません。

Windowsのための(より安全で安全な)SSHサーバーがずっと便利で便利です;ここで複雑なプロセスを経るのは無意味です。 LinuxからWindowsへのターミナルコマンドも同様に単純化されていますが、他の人がPuTTy / KiTTyが簡単に言及しているように、上記の手順を奨励する上で、作者が何を念頭に置いているかは十分にはわかりません。うーん….

そのような残念な点は、他の方法では非標準ポート(ほとんどのロックダウン状況では絶対に必要)とDNS転送(絶対的に不可欠)を使うことができるからです。

多分、彼は後で道を歩いてさらに知識を共有するだろう。

PuTTyを使っている人が何人いるのでしょうか?また、私たちがここで何を話しているのか分からない人はいますか?

はい、いい質問です.Windows(またはLinux)のマシンやルータ(たとえばDD-WRT)にSSHサーバーが必要で、PuTTyをLinuxやWindowsマシンのクライアントとして使用して接続できます。同様に、Linuxではコマンドラインを使用するのは簡単ですが、Windowsの方がはるかに優れたSSHサーバーが存在し、Linuxでのコマンドは5年前のそれほど簡単です。

この記事で指摘したように、システムをミックスしてマッチさせることができます。 Windowsを使用している人は、Linux上で実行されているSSHサーバーに接続できますが、Linuxを使用している人はWindows上のSSHサーバーに接続できます。疑問が残っています:他のSSHサーバー(意見のみ)がずっと簡単で、より安全で、わかりやすいアプローチを提供するCygwinのような理由

ねえ、私はSSH1にいくつかの問題があった(私は正しいパスワードを入力しても間違ったパスワードを持っていると言っていた)。しかし、SSH2はうまく動作します; …設定(パスワード)を変更する方法についてのアドバイスはありますか?他のシステムにSSHを適用する方法は?私は自分のコンピュータでPuTTyを置き換えてCygwinを代わりに使いたいと思っています:)

なぜcopssh?

copsshがcygwinを使用しているようです。開発者は明らかに上記の手順の多くをユーザーから隠しています。

さて、私はこの練習の第2の主要な部分であるssh-user-configステップで停止しました。

1 $ ssh-user-config; *** ERROR:/etc/passwd.****にホームディレクトリが設定されていません。エラー:$ HOMEを設定するだけでは不十分です!

誰が、私またはユーザcyg_serverと話しているのですか?

どちらの場合でも、/ etc / passwdは、cyg_serverのホームディレクトリが/ var / emptyであるにもかかわらず、Iとcyg_serverの両方にホームディレクトリがあることを示しています; cyg_serverのシェルは/ bin / falseです。 。

ところで、ホームディレクトリにはいくつかの興味深いパーミッションがあり、作成されただけではありません。

drwxr-xr-x + 1 cyg_server root 0 12 21 20:02 / var / empty

だから私はこの時点で困っている。私は文書化されていない依存関係を逃しましたか(a2psで起こったように)

手がかり、誰ですか?

ありがとう。

なぜこれをやりたいのですか?より良いスクリプトを作成するには、Perl(Windowsの場合)またはPowershellを使用します。私は完全にデュアルブートLinux(おそらくUbuntu)とWindowsを同じマシン上で理解することができますが、なぜcygwinをWindowsで走らせたいのか分かりません(cygwinはちょっとした痛みです)。

グレートポストは、明らかに意図されていたことを理解している人にとって非常に役立ちます。

(そしてそれらは数少ないものですが、そうであるようです。)

すべての手順を完了しましたが、sshログインの試行がハングします

$ ssh -vvv localhost; OpenSSH_5.8p1、OpenSSL 0.9.8r 2011年2月8日; debug1:構成データ/ etc / ssh_configを読む; debug2:ssh_connect:needpriv 0; debug1:localhost [:: 1]ポート22に接続する; debug1 :接続が確立されました; debug3:RSA1識別子が正しくありません; debug3:RSA1公開鍵として “/home/john/.ssh/id_rsa”を読み込めませんでした; debug2:key_type_from_name:不明なキータイプ ‘–BEGIN’; debug3:key_read:デバッグ3:key_read:不足しているkeytype;デバッグ2:key_type_from_name:不明なキータイプ ‘DEK-Info:’;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白; ; debug3:key_read:空白がありません; debug3:key_read:空白がありません; debug3:keyデバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ2:key_type_from_name:不明なキータイプ ‘–END’; debug3:key_read:キータイプが見つからない; debug1:アイデンティティファイル/home/john/.ssh/id_rsaタイプ1; debug1:アイデンティティファイル/home/john/.ssh / id_rsa-cert type -1; debug3:RSA1識別子が正しくありません; debug3:RSA1公開鍵として “/home/john/.ssh/id_dsa”を読み込めませんでした; debug2:key_type_from_name: ‘-BEGIN’; :key_read:キータイプが見つからない; debug2:key_type_from_name:未知のキータイプデバッグ3:key_read:欠落している空白;デバッグ3:key_read:空白がない;デバッグ3:key_read:空白がない;デバッグ3:key_read:デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白;デバッグ3:key_read:欠落している空白; :欠落している空白; debug2:key_type_from_name:未知のキータイプ ‘–END’; debug3:key_read:keytypeがありません; debug1:アイデンティティファイル/home/john/.ssh/id_dsaタイプ2; debug1:アイデンティティファイル/ home / john / ssh / id_dsa-cert type -1; debug3:RSA1識別子が正しくありません; debug3:RSA1公開鍵として “/home/john/.ssh/id_ecdsa”を読み込めませんでした; debug2:key_type_from_name: ‘–BEGIN’;デバッグ3:key_read:キータイプがありません; debug2:key_type_from_name: ‘Proc-Type:’;キータイプが不明です; debug3:key_rデバッグ3:key_read:欠落している空白;デバッグ2:key_type_from_name;デバッグ2:key_type_from_name:不明なキータイプ ‘DEK-Info:’; :未知のキータイプ ‘–END’; debug3:key_read:キータイプが見つからない; debug1:アイデンティティファイル/home/john/.ssh/id_ecdsaタイプ3; debug1:アイデンティティファイル/home/john/.ssh/id_ecdsa-certタイプ – 1

(今はハングする… Ctrl-Cを押すまで何もしない)

私はWindows 7を使用しています。

$ ls -l / etc / ssh *; – rw-r-r-1 cyg_serverなし1547 2月23 13:39 / etc / ssh_config; -rw — 1 cyg_server管理者668 2月17日00:15 / etc / ssh_host_dsa_key; -rw-r-r- 1 cyg_server管理者607 2月17日00:15 /etc/ssh_host_dsa_key.pub;-rw— 1 cyg_server管理者227 2月17 00:15 / etc / ssh_host_ecdsa_key; -rw-r-r- 1 cyg_server管理者179 Feb 17 00:15 /etc/ssh_host_ecdsa_key.pub;-rw— 1 cyg_server管理者982 2月17日00:15 / etc / ssh_host_key; -rw-r-r – 1 cyg_server管理者647 Feb 17 00:15 /etc/ssh_host_key.pub;-rw— 1 cyg_server管理者1679 2月17 00:15 / etc / ssh_host_rsa_key; -rw-r-r- 1 cyg_server管理者399 2月17 00 :15 /etc/ssh_host_rsa_key.pub

$ ls -al;合計24; drw-rw-rw- + 1 john管理者4096年2月23日14:13; drwxr-xr-x + 1 ?????????????? 4096 Feb 22 23:40 ..; – rw — 1 johnなし2651 2月23日14:01 authorized_keys; -rw — 1 johnなし771 2月23 14:00 id_dsa; -rw-r-r-1 johnなし607 Feb 23 14:00 id_dsa.pub; -rw — 1 johnなし314 Feb 23 14:01 id_ecdsa; -rw-r-r-1 johnなし179 2月23 14:01 id_ecdsa.pub; -rw- – 1ジョンなし1766 2月23日14:01 id_rsa; -rw-r-r-1 johnなし399 2月23 14:01 id_rsa.pub

私はWindowsのFIrewallポート22を開いて(そしてそれがcyg_serverアカウントで開かれていることを確認した)、私のルータのポート22を開いた。

しかし、私は、sshクライアントがサーバーと “話す”ことができるので、ファイアウォールが問題であるとは思わない…セッションの起動だけがハングアップする…

何か案は?

tks;ジョン

PuTTYは何ですか?

パテはSSHの悪魔ではありません。それはただのクライアントです。 FreeSSHdのような他の悪魔もありますが、私もそれに問題がありました。

Cygwinでsshを使用した場合の問題の1つは、デスクトップからcygwinシェルを起動することと全く同じではないということです。いくつかのコマンドは、デスクトップのcygwinシェルで実行され、sshシェルからは実行されません。明らかに実際のシェルは何とか異なっています。

こんにちは…;私はCygwinを設定しようとしていますが、このステップの後

“あなたはスクリプトがあなたのシステムに関するいくつかの情報を与えたのを見るでしょう、そして、それはあなたにデフォルトのユーザー名” cyg_server “で特権アカウントを作成するように頼みます。デフォルトではうまくいくので、別のアカウント名を使用するかどうかを尋ねるときに「いいえ」と入力しますが、

パスワードを尋ねるときにパスワードを入力しようとすると

“もちろん、このアカウントのパスワードも入力しなければなりません。”; “Cygwinはあなたのパスワードをプレーンテキストで確認のために表示するので、安全な場所にいることを確認してください。余分な情報が表示され、すべてがうまくいけば、正常に言うメッセージが表示されます。

それはパスワードを表示しませんが、再入力するように私に尋ねます、私はそれを入力してもエラーが表示されます; “ユーザー ‘cyg_serverの作成に失敗しました!理由:システムエラー5が発生しました。 ”

私が間違っているところを教えてくれませんか?

@ミスティ。管理者としてCYGWINシェルを実行して同じ問題を解決しました

どのくらいの人が他のSSHクライアントと比較して恐ろしいのかを考えれば、パテは何人の人に言及しているのか面白いです。作者がSSHクライアントについて話していなかったという事実を避けて、SSH(無料)でより良い経験をしたい人にPoderosaを試してみたい人をお勧めしますか?ポンデローザではなく、ポデローサです。

http://sourceforge.net/projects/poderosa/

PoderosaはCygwin用のタブを作成する機能をサポートしています。 Cygwinのスタンドアローンは恐ろしいですが、Poderosaを通して素晴らしいです。

試してみます。

インストールするには、クリックしてデスクトップにインストールするリンクはどこにありますか?私はclick.plsが私にそれをインストールするのを助けることができるリンクを見ることができませんでした。

ニースポスト。 PuTTYを提案している人々の数には私も驚いています。同じ目的のために意図されていないからです。 Powershellを優れたスクリプトツールとして提案している人には:Powershellは素晴らしいですが、Windows以外のマシンには移植できません。シェルスクリプトはcygwin、Linux、BSDなどで動作します。

単にmRemoteNGを使用しないのはなぜですか?オープンソースで無料です。

米国からヨーロッパへの最短ルートをプロットする場合は、Maineで、West Quoddy Headはメイン州の海岸沿いにありますが、アメリカの最東端に位置し、米国とヨーロッパの最短距離を提供します土壌。