2016/12/05 (月)

2016-12-05:Windows7 で sshd を動かす

要望あって、Windows マシンに sshd 立てて sftp でファイルをやりとりするサーバに、という案件。
いまって Windows 版の OpenSSH なんてあるのねー。
というわけで、セットアップ.

GitHub : PowerShell/Win32-OpenSSH
https://github.com/PowerShell/Win32-OpenSSH/releases

ここから zip ファイルをダウンロードし、C:\ 直下に展開。
自分の場合、C:\OpenSSH-Win64\ になる。これを環境変数 Path にいれる。「マイコンピュータを右クリックのプロパティ」→「システムの詳細設定」→「環境変数」→「システム環境変数の Path の編集」で、末尾に「;C:\OpenSSH-Win64」を追記。

22番ポート以外で動かしたかったので sshd_config を編集。鍵認証の指定もついでに。

Port 22222
PubkeyAuthentication yes

次に、その 22222 のポートを Firewall 的に開ける。
自分は ESET Smart Security なので、そっちで設定。Windows 標準の Firewall だったり、違うセキュリティソフトの方は、適宜それぞれの設定で。

あとは PowerShell で作業。
管理者権限で PowerShell 起動して、

> cd C:\OpenSSH-Win64
> ssh-keygen.exe -A
C:\OpenSSH-Win64\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519
> Set-ExecutionPolicy Unrestricted
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):
> .\install-sshlsa.ps1
> .\install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
 Granting SeAssignPrimaryTokenPrivilege to NT SERVICE\SSHD   ... successful
sshd and ssh-agent services successfully installed
> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):
>

一時的にセキュリティを落としてからセットアップをして、終わったら戻す、という感じ。
以上で設定終了で、あとは起動するだけ。
自動起動の設定もしておこう。

> net start sshd
sshd サービスを開始します.
sshd サービスは正常に開始されました。
> Set-Service sshd -StartupType Automatic
>

サーバの C:\Users\{ユーザー名}\.ssh\ 以下に authorized_keys を置いておけば、鍵認証で ssh のログインができる。
scp でファイルのやりとりも可能。
すばらしい。


以下は個人的にはまったネタ。解決に1時間以上かかった。
この Windows 版の OpenSSH、実は

Compression に対応していない!

ので、つなぎにいくクライアントサイドで Enable Compression とか、.ssh/config に Compression yes とか書いてると、接続できない。
もし自分以外にも接続できずに困っている方がいらっしゃいましたら、圧縮設定を見てみていただきたく。

この問題、接続できないならできないでその理由を吐けばいいものを、

% ssh -p 22222 192.168.0.101
buffer_get_ret: trying to get more bytes 1 than in buffer 0
buffer_get_char_ret: buffer_get_ret failed
buffer_get_char: buffer error

これしか言われない。
-v をつけても大して得られる情報なし。これじゃエラー内容分かんないよ!!!

試行錯誤の過程で、サーバ側の .ssh/authorized_keys をどかしてパスワード認証にしたりするも

% ssh -p 22222 192.168.0.101
waasuke@192.168.0.101's password: 
Permission denied, please try again.
waasuke@192.168.0.101's password: 
buffer_get_ret: trying to get more bytes 1 than in buffer 0
buffer_get_char_ret: buffer_get_ret failed
buffer_get_char: buffer error

エラーは同じ。
なお、↑の最初のパスワード入力はわざと間違えてて、サーバが正しくパスワード認証をしてることはまではこれで把握。

サーバ側にログないのかな、と探すと、インストール直下に sshd.log がある。
しかし開いてみても、、、

2888 23:03:20 455 Failed password for waasuke from 192.168.0.62 port 45020 ssh2
2888 23:03:22 341 Accepted password for waasuke from 192.168.0.62 port 45020 ssh2

これだけ。
やっぱり役に立たNEEEEE!!!

で、ウンウン唸ってたら、仲間が「別のクライアントならどうだ?」とアドバイスをくれた。
Windows クライアントの PuTTY を試す。なんとログイン成功!
えーーー
これまでハマってた CentOS の ssh クライアントと何が違うんだ。。。
文字コード?改行コード?

しばらくして、さらに「.ssh/config じゃね?」とコメントをもらう。
いったんどかしてみたら、CentOS の ssh クライアントからもログインできた。
ここまできたらかなりの絞り込めたね。
あとは .ssh/config の設定をコメントアウトしたりひとつひとつ試し、結果、Compression yes がガンであることが判明。
ついでに Enable Compression にチェックを入れた PuTTY でのログイン失敗も確認。
やれやれ。。。

ちなみに、sshd_config には #Compression delayed とデフォルトでコメントアウトで入っているのだけど、これをコメントはずして値を yes にして sshd を再起動しても、圧縮ありにしたクライアントからの接続はできず。
sshd 自体に実装が入ってないのかー。
と思って project ページをよく見ると、

https://github.com/PowerShell/Win32-OpenSSH/wiki/Project-Scope
Intent of this project is to get to a state that can converge to and integrate into OpenSSH’s main repo. To simplify this integration, following features have been scoped out and will not work on Windows yet:

– VerifyHostKeyDNS
– Client ControlMaster

– Compression
– ProxyCommand (Windows specific feature/work items)

ちゃんと書いてはありましたね。。。

(Compression を実装していないことを責めてるわけじゃもちろんないです。むしろポ―ティングには感謝。
(ただ、分からないエラーメッセージには文句言いたい。サーバサイドもクライアントサイドも。

comment

2014/08/18 (月)

2014-08-18:8/13のWindowsUpdateを削除する

どうやら 8/13 リリースの更新プログラムがしくじってたらしく、再起動できなくなるトラブルらしい。
ウワサによると、2回目の再起動でハマる?

【リリース後に確認された問題】2014 年 8 月 13 日公開の更新プログラムの適用により問題が発生する場合がある
http://blogs.technet.com/b/jpsecurity/archive/2014/08/16/2982791-knownissue3.aspx

とりあえず、Win8 機と Win7 機で下記のうち入ってものをプログラムの追加と削除からアンインストールし、\Windows\system32\FNTCACHE.DAT を削除してからそれぞれ再起動。
とりあえず、自分は被害ナシ。

  • 2982791 [MS14-045] カーネル モード ドライバーのセキュリティ更新プログラムについて (2014 年 8 月 12 日)
  • 2970228 Update to support the new currency symbol for the Russian ruble in Windows
  • 2975719 August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
  • 2975331 August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012
comment

2014/07/29 (火)

2014-07-29:ESET SmartSecurity と Thunderbird

仕事場のデスクトップマシン(Windows7)の Norton のライセンスが残り一週間になったので、ESET SmartSecurity 7 に変えた。
インストール当初は ESET の「パーソナルファイヤーウォール」が強力で、普段遣いアプリが遮断されまくる。けど、これはそれぞれ個別に穴あけしていって(キーボード共有ソフトの docodemo とか、Oracle Virtualbox で動かしてる VM との通信とか)、小一時間で普段の生活環境に戻れた。いえい。

で、ほっとしてたのだけど、しばらくして気づく。

Thunderbird が IMAP サーバにつながらない。

メール、基本的には VM でつくった Linux の中の Emacs で Wanderlust 動かして読み書きしてるから、最悪 Thunderbird なくてもいいんだけど、HTML なメールを見たいときとかに気軽でいいのよね。
ちょっとググったところ、「ESET の詳細設定で IMAP のチェックを無効にしろ」とかヒットするけど、自分の環境では効果なし。
というか、そもそも ESET 自身は「新しい Thunderbird は未対応だから」って言ってるのね。

Which email clients are compatible with Windows ESET products?
http://kb.eset.com/esetkb/index?page=content&id=SOLN2138

むーーーー。困ったな。
twitter や Facebook, IRC で「困ってるんだけどー」と相談しつつ、代替はどうしたらいいかと「みんな Windows でどんなメーラー使ってるの?」と聞いてみた。
そしたら、winbiff とか EdMax とか Becky! とか出てきて、いろいろ懐かしい。^^;
Becky! はまだ開発が続いてるのね。電信八号 も開発続いてるみたいだ。前世紀に使ってましたよ、電信八号。

サテオキ、新たにメーラーインストールしようかなと思ってたら、IRC で「ESET 入れた環境で Thunderbird 使えたよ」という報告。
よくよく自分の Thunderbird のバージョンを見たら 24.6.0、報告いただいた方は 31.0。
おぉぅ、Thunderbird のヘルプ→バージョン確認で「ソフトウェアの更新を確認」ボタンが「最新です」言ってるから油断してたよ。
Thunderbird のサイト から新しいのを落としてきて更新したら、、、無事に IMAP サーバに接続!
ありがとうございます。m(_ _)m

とりあえず、新しいメーラーには移行せず、様子見してみるつもり。

comment

2013/11/12 (火)

2013-11-12:Windows7 のセーフモードが ClassPNP.sys で止まる

どうもこのところ仕事場の windows7 なデスクトップが不安定で、ちょいちょい BSOD だったり、ブルースクリーンにならずもエクスプローラーがかたまってしまって電源強制オフせざるを得ないことが多々。

で、今日は USB メモリをさしただけで刺さった。。。(-_-#)

しょうがないので、電源ボタン長押しでの強制オフ。してからの再度オン。
windows 側で正常終了でないことを検知して、セーフモード起動するか聞いてくるので、セーフモード起動を選ぶ。
が、だらららっといろいろローディングしていく中で、ClassPNP.sys のところで止まった。
いつもはさくっとセーフモードで起動するのに、はじめてだわ、これ。

DSC_3526ググると、いろいろ事例が出てきて、どうも外部機器のいろいろで出てくる問題っぽい?
とりあえずは再度強制電源オフしかないので、ボタン長押しして落とす。そしてくだんの USB メモリをはずし、別で以前からつけてた USB ハブもはずし、起動。
そしたら、今度は CHKDSK が走る!ビビるワタクシ。。。

が、なんとか無事に CHKDSK が終わり、起動できた!
その後はいまのところ無事に動いてる模様。
怖いんで、今後は USB 機材はつなげないようにしよう。このデスクトップ機には。

comment

2013/11/08 (金)

2013-11-08:[solved]windows7 上の共有フォルダが mount.cifs できない

昨日の続き。
この手のトラブルはなにがなくともパケットキャプチャーだよね、と基本に立ち返り、wireshark で mount.cifs できる場合とできない場合のパケットをとってみる。

20131108_mountcifsng20131108_mountcifsok

192.168.20.62 がクライアントの CentOS な VM。
192.168.20.61 が問題の Windows7、192.168.20.30 がマウント可能な別ネットワークドライブ。。
左がダメなパターン、右がうまくいくパターン。

SYN に対して、SYN,ACK 返ってきてないね。
ここで、「そもそも Windows にたどり着いてないんじゃないの?」と気づく。

Nortonか?

さっそく、その方向でググってみたら、出てきたよ。。。

[Norton Internet Security] 常駐するようにしたら、ネットワーク内の他のパソコンとファイルやフォルダを共有できなくなりました。
http://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=4104-6740

結局、ここの指示通りに自分も設定入れて、解決。
が、Norton 入れたのなんて何か月も前だぞ?なんで昨日になっていきなり変わるんだ。。。

  1. Norton Internet Security のウィンドウを出す
  2. 詳細表示を押す
  3. ネットワークセキュリティマップを押す
  4. 初期化が必要とか言われるのを、続行を押して進める
  5. ネットワークセキュリティの概要でOKを押す
  6. ネットワークセキュリティマップのネットワークの詳細の下にある、アダプタ選択で該当のネットワークアダプタを選ぶ
  7. はてなアイコンで新規と書かれているものをひとつ選び、「信頼レベル:保護」の右の編集を押す
  8. 「完全な信頼」を選択してOK
  9. ネットワークセキュリティマップに戻り、ネットワークアダプタの選択のところで「信頼制御」を選ぶ
  10. さきほどの完全な信頼のデバイスがあることを確認する
  11. これで復活。

    comment

2013/11/07 (木)

2013-11-07:windows7 上の共有フォルダが mount.cifs できない

仕事場の Windows7 デスクトップ機には、VMwareServer で VM として CentOS を入れていて、Windows 上の特定のフォルダを CentOS から mount.cifs でマウントしてファイル共有する生活をながらくしていた(VMware のネットワークアダプタはブリッジ設定)。
のだが、今日になっていきなりそのマウントができない。

$ /sbin/mount.cifs //192.168.x.x/win7folder /mnt/win7folder -o username=xxxx,iocharset=utf8
[sudo] password for xxxx: 
Password: 
mount error(110): Connection timed out
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

コマンド打った後のふたつめの Password は共有フォルダのユーザー xxxx のパスワードね。
で、パスワードを打ってから数分経って、timed out のエラーを喰らう。

いろいろググって情報ないか探す。
やれ「6to4のネットワークアダプタがわるい」だの、「ファイヤーウォールの共有設定が」だの、いくつかページを見つけるが、しかしながら解決には至らず。
なお、VM の CentOS から、同一セグメント上の別のネットワークドライブはマウントできる。だもんで、問題は Windows7 側よね。
どうしたものか。。。

comment

2013/10/29 (火)

2013-10-29:PC で kindle コンテンツ読みたくて BlueStacks 入れてみた

手持ちの kindle は PaperWhite だけなので、出先・移動中にライトに読むのはいいけど、技術書系をがっつり読むのはつらい。
仕事場のデスクトップPCでも読めるようにしなきゃな、と思って、Windows7 な PC に BlueStacks を入れてみた。
どういうことかというと、Android 向けの kindle App を Windows PC で使えるように、Android App 動作環境を入れてしまった、というオハナシ。

もともと amazon は Kindle for PC というアプリを公開してくれてるんだけど、

amazon.com での購入しか相手してくれず、amazon.co.jp のお買い物は対象外

なのよね。
なので、こんな手数をかけないといけない。メンドクサイ。。。

とはいっても、環境構築方法についてはすでに分かりやすい記事をアップされている方がおられるので、素直にそれに従って(著者の方、ありがとうございます)。

Windowsで(スマホと同様に)Amazon Kindleの本を読む方法について
http://www.asahi-net.or.jp/~tz2s-nsmr/bluestacks/bluestacks.htm

一応、BlueStasks 用に新しく gmail アカウントも作りました。

インストール後、BlueStacks を起動して、その中で google play から kindle アプリをインストールし、中の kindle アプリに自分の amazon のアカウント情報を入れる。
無事に自分の購入済み書籍リストが出ました。いぇい。

ただ、画面が小さくて、いまいち見づらい。
ちょろっとググって、レジストリの値を変えればいいと知る。
regedit.exe を起動、変えるキーは

HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks\Guest\Android\FrameBuffer\

以下にある HEIGHT と WIDTH。1280×720 だったのを 1600×1000 にしてみた。
ただ、これだけだと、窓だけ大きくなって中身の表示はそのまま。BlueStacks の再起動をしないといけない(窓を閉じるだけでは Android としてはスリープ扱いなのね)。

が、BlueStacks の再起動ってどうやるのーーーー?

と、探すのに10分以上かかってしまった。アプリ内じゃないのね、再起動の指示は。
Windows 自体のタスクトレイの中に BlueStacks のアイコンが出現してて、ここを右クリックすると「再起動」のメニューがあるのでした。
無事に画面も大きくなり、技術書サイズの見開き表示も快適になった。

ちょっとページめくりで表示されるのに時間かかるのが目につくけど、まぁガマンもできる。
カラー表示もされて嬉しい(手持ちの kindle paperwhite はモノクロ表示のみだから)。
というか、自分の書籍もちゃんとカラーでコンテンツ作られてるのだな。まぁ、そりゃそうだろうけど。初めて確認できた。^^;

comment

2013/10/09 (水)

2013-10-09:USBtoHDMI コンバータを入手したのだが。。。

仕事場のデスクトップ機は20インチモニタ2枚と14インチモニタ1枚という構成なんだけど、そばに置いてるSHARPの32インチテレビの HDMI 入力が空いてるので、さらに画面増やそうと USB to HDMI コンバータを買ってみた。
が、うまくいかないので、詳しい方へぷる~。

もともとの画面出力はデスクトップ機のマザボオンボード上の HDMI を14インチ液晶に、玄人志向の ATI Radeon HD4650(DVI 出力がふたつのボード)を2枚の20インチ液晶に、という構成。
OS は Windows7。

1_デバイスマネージャーコンバータをデスクトップの USB 端子に接続すると、無事に認識される。
デバイスマネージャーでは「USB and Network Display Devices」の下に「SMSC UFX6000 Device」と表示。使用しているチップ名みたいね。

HDMI ケーブルを SHARP のテレビにつなげると、ほかのモニタと同じ背景画像が表示される。
やった!
2_解像度設定。。。と最初は思ったけど、マウスカーソルが届かない。
デスクトップ上での右クリックメニューから「画面の解像度」を選んで出すと、「SHARP HDMI」のモニタが表示はされている。
が、識別ボタンを押しても画面変化なし。

各デバイスを接続する順を変えて何度か再起動してみたりするも、うまくいかない。
背景画像は出てるのになぁ。うーん。

3_詳細設定ひとつ気になるというか、アヤシイのが。
「画面の解像度」で、SHARP HDMI と認識されている画面を選んで「詳細設定」を押してプロパティウィンドウを出すと、アダプターとして ATI Radeon HD 4650 と表示される。
ここは SMSC UFX6000 Device じゃないとおかしいハズ?
実際に ATI Radeon にはつながっていないわけだし。
なんでこう表示されるんだろう。
というか、SMSC UFX6000 の方を明示させられれば解決するんではないだろうか?

「こうすればいいよ」というアドバイスはもちろん、「ここを見れ」とか「ここをどうなってるんだ、教えれ」等のご指摘も、ございましたらなんでもコメントください。
よろしくお願いします。

comment

2012/02/13 (月)

2012-02-13:CIFS VFS: Send error in SessSetup = -12

Linux から samba マウントしている Windows7 上のフォルダがいきなり使えなくなった。

% ls -alF /mnt/win7folder
ls: /mnt/win7folder にアクセスできません: メモリを確保できません

「メモリを確保できません」って、なんじゃそりゃ。メモリはあるぞ?
と思って、ログ出てないかなと調べたら /var/log/messages に、

Feb 13 15:14:59 pollux kernel:  CIFS VFS: Send error in SessSetup = -12

のログ。
このメッセージでググると social.technet.microsoft.com の投稿がひっかかった。

Error while mounting Windows 7 shared on Linux/Samba

ここのフォローの中に

Open regedit goto HKEY_LOCAL_MACHINE ->SYSTEM ->CurrentControlSet ->Services ->LanmanServer -> Parameters. Then click createkey and create a DWORD with the name SMB2. The value should automatically be set as 0, which is correct to turn it off. Restart computer and fixed. To remove the fix and reenabled SMB2 simply remove the DWORD from the place above in the registry.

とあったので、指示に従って Windows7 側で regedit.exe 起動して、HKEY_LOCAL_MACHINE ->SYSTEM ->CurrentControlSet ->Services ->LanmanServer -> Parameters に SMB2 というキーを作成して、Windows7 再起動。
無事にまた Linux からマウントして使えるようになった。

comment

2012/02/09 (木)

2012-02-09:xeyesのWindows互換品

自分はわりとマウスカーソルがモニタ上のどこにあるか見失いことが多い。
コントロールパネルの設定でCtrlキーで同心円アニメーションを出したり、マウス動かすと軌跡が出るようにはしてるんだけど、それでも見つけにくい。
どうやったらマウスカーソルを見つけやすくなるかと考えて、、、そうだ xeyes ってあったじゃないか。
自分の作業環境は Windows7 だけど、xming を入れて X アプリも飛ばしてこれるようにしている。当然 xeyes も動くはずだ、と起動してみる。問題なく起動。画面上になつかしい目玉が現れる。

しかし、動きが遅い (-_-)

マウスの動きに黒目がすぐついてきてくれない。X server と Windows との通信分が時差なのかしら。。。

そもそも X に頼らず、Windows 上でなんとかできないかな、Windows 版の xeyes 相当ってないの?と、Vector で漁ってみると、実際いくつか候補が出た。が、どれも開発時期が古く、試してはみるものの Windows7 で動かないものばかり。
そんな中、WinEyesというのを発見。これは問題なく動く。キビキビ動く。というわけで、こいつを起動して右上と左上に配置。満足♪

そんなわけで仕事場の自分のデスク環境の写真を撮ってみる。
ご覧のように、わたしのデスクはモニタが4つの環境。
3つがデスクトップPCのもので、20インチが2枚に15インチが1枚。それに Let’s Note R7 の10.5インチが一枚。
デスクトップPCのキーボードとモニタは机の上に出してなく、キーボード共有ソフトで Let’s Note のキーボード・マウス操作をデスクトップPCにも適用するというスタイル。Let’s Note 上でマウスを画面上に持っていくと、そのままデスクトップPCの方にカーソルが移動していってくれるようにしている。

モニタが多いのは作業効率的にとてもいいので、気に入っているんだけど、作業画面が広いがためにマウスカーソルをすぐ見失う、という話なのでした。


ただ、この話を IRC で話してたら、

マウスカーソルを大きいデザインに変えればいいんじゃね?

と言われた。悶絶。
たしかに、それだけではるかに簡単に見つけやすくなりましたよ。。。´_`)トホホ

comment

2011/10/30 (日)

2011-10-30:仕事場マシンの新調

仕事場の普段遣いのデスクトップPC、実は4年選手で、CPU が Pentium4 なんて今時だと化石扱いされかねないものだったりする。
それでもメインが X を飛ばしてきての Emacs 内での作業なので、「ちょっとブラウザが重たいかなぁ」くらいで気にせず使っていたのだけど、最近になってセキュリティソフトを NOD32 から Norton に変えたら、

イヤになるほど遅いということを実感した

ので、新調することに。
もともとパーツ集めた自作機なので、ケースと PCIe な2画面 DVI のグラフィックボード、DVD-RW ドライブは継続利用。
それ以外に以下を買い揃えました。

  • CPU core-i7 2600K (27000yen程度)
  • MB Gigabyte Z68XP-UD3R (15000yen程度)
  • SSD Intel 120GByte x2 (36000yen程度)
  • mem 4Gx2 (5000yen程度)
  • PW 750W (8000yen程度)
  • OS Windows7 Professional 64bit750W (18000yen程度)

いまってメモリこんなに安いのね。。。
お買いもの後、さっそく仕事場に持ち込んで、デスクまわりの配線整理をしつつ組み上げる。

すごい、イマドキのデスクトップってこんなにサクサク動くの?!

びっくりだ。10万円程度でこんなに威力があるなら、もっと早くやっとけって話だな。。。

Windows7 をインストールし、Gigabyte 付属の CD でオンボードのグラフィックと NIC のドライバを入れ、Office2010 をインストールしたあたりで、今日はひとまず作業終了。
中身のセットアップは明日以降に。

comment