趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • さくらのVPS乗り換え(4)

    投稿日 2012年 4月 19日 コメントはありません

    サーバ側のホームディレクトリの暗号化がうまくいかない状態ですが、とにかくDokanSSHFSを使ってどのくらいのパフォーマンスが出るのか試してみました。

    ・・・がしかし、スピードが出ません。

    夜の12時頃という混んでいるであろう時間帯ということもあるのかもしれませんが、どうやら上り下りで合わせて400KB/s(4Mbps)程度にネットワークの速度を抑えられている感じです。数十キロバイト程度の細かいサイズのファイルが多かったせいかとも思いましたが、大きなファイルでも一緒でした。

    また、読み出しも非常に遅いです。数十キロバイトのファイルを開こうとしてダブルクリックしてから開けるのは20~30秒後だったりします。

    これではいくらなんでも使い物にならない(差分バックアップを取るにもいったいどのくらいかかることやら・・・)ので、メモリ2G+HDD200Gはやめて、素直にメモリ1G+HDD100Gのプランに戻すことにします。


  • さくらのVPS乗り換え(3)

    投稿日 2012年 4月 8日 コメントはありません

    次に、DokanSSHFSを使う準備として、専用のユーザーとSSH接続の準備をします。

    1)ユーザーの追加

    システム管理の下のユーザー管理ではユーザーを追加できないようです。
    かといって、adduserコマンドで暗号化オプションを追加してもNGでした。

    で、結局、こうなりました。

    $ sudo apt-get install ecryptfs-utils
    $ sudo adduser --encrypt-home dokan

    2)SSH接続する

    まずサーバー側です。(本来はクライアント側で鍵生成した方が良さげな気もしますが、途中の経路はセキュアなはず・・・・なので、サーバー側で生成しました)

    $ ssh-keygen -t dsa
    $ cd ~/.ssh
    $ cat id_dsa.pub > authorized_keys

    次にクライアント側です。まず、UbuntuからSSH接続できることを確認します。

    まず、何らかの方法でホスト側の秘密鍵(~/.ssh/id_dsa)をローカルホストの ~/.ssh/id_dsa.dokan として持ってきます。その後、

    $ ssh -p (ポート番号) -l dokan -i ~/.ssh/id_dsa.dokan (ホストIPアドレス)

    で鍵生成時のパスフレーズを入力することでSSH接続ができました。

    3)追伸

    ・・・・と思ったら、ホスト側でログインしている dokan ユーザーがログアウトするとSSH接続できなくなってしまいます。 当然といえば当然ですが、~/.ssh/authorized_keys が見えなくなってしまうからのようです。ログインしていない状態(=暗号化されたままの状態)で、別のユーザーから

    $ sudo sh
    # cd /home/dokan
    # mkdir .ssh
    # chown dokan.dokan .ssh
    # chmod 700 .ssh
    # cp (どこか見える場所)/authorized_keys .ssh/.
    # cd .ssh
    # chown dokan.dokan authorized_keys
    # ls -la
    -rw-r--r-- 1 dokan dokan 608 2012-04-08 19:00 authorized_keys
    # cd ..
    # chmod 500 .ssh
    # ls -la
    dr-x------ 2 dokan dokan 4096 2012-04-08 19:00 .ssh

    として、ホームディレクトリの復号化前に見える場所に .ssh ディレクトリを作ってやれば良いようです。(こちらを参考にしました)

    この辺がややこしいのでさくらのインストールマニュアルでは暗号化ホームディレクトリは削除してあるのかもしれませんね。

    4)さらに追伸

    これでもまだダメっぽい。「ecryptfs-mount-private」コマンドで暗号化ホームディレクトリを可視化するのだけど、効果がない。調べると、当該ユーザーがecryptfsグループに属していないといけならしい。というわけで、

    $ sudo groupadd -g 124 ecryptfs
    $ sudo gpasswd -a dokan ecryptfs
    ユーザ dokan をグループ ecryptfs に追加

    で、この後、当該ユーザーから、

    $ ecryptfs-mount-private

    とすると、ホームディレクトリが切り替わりました。・・・が、ログインと同時には切り替わりません・・・(泣)

    ドキュメントによれば、「~/.ecryptfs/auto-mount」を消して、touchで作り直せばできるようになるっぽいことを書いてあるんだけど、それもうまくいかないし。


  • さくらのVPS乗り換え(2)

    投稿日 2012年 4月 7日 コメントはありません

    1.OSの再インストール

    とりあえず標準で入っているCentOSをちょっとだけ堪能したら、早速ですがOSを再インストールします。

    OSはUbuntuにするので、カスタムOSインストールでUbuntu i386を選択します。

    VNC上でインストーラ画面が表示されるので、カスタムOSインストールマニュアルとインストーラにしたがって進めます。

    2.OpenSSH Serverのインストール

    前回同様にOpenSSH Serverをインストールします・・・・と思ったら、はじめから標準で入っているようです。鍵の生成は前回同様実施します。ただし、1箇所間違いがありました。(赤字で直しちゃいました)

    3.デスクトップ環境のインストール

    これまた前回同様にインストールします。

    4.FreeNXのインストール

    これまた前回同様です。

    ・・・ということで、とりあえず、概ね環境構築しました。
    あとは、アプリケーション類ですね。

     


  • さくらのVPS乗り換え(1)

    投稿日 2012年 4月 7日 コメントはありません

    これまで「さくらのVPS 512」を契約して、Ubuntu10.04のリモートデスクトップとして使っていたのですが、3/29にさくらのVPSがリニューアルされて、その乗り換えキャンペーンの案内が来ました。

    旧契約は、

    • さくらのVPS 512 : 月額980円、メモリ512MB、HDD20GB

    だったのですが、新しい契約メニューは、

    • さくらのVPS 1G : 月額980円、メモリ1GB、HDD100GB
    • さくらのVPS 2G : 月額1480円、メモリ2GB、HDD200GB
    • さくらのVPS 4G : 月額3980円、メモリ4GB、HDD400GB
    • さくらのVPS 8G : 月額7980円、メモリ8GB、HDD800GB

    になっています。しかも4/20までに解約手続きと次の契約を完了すると、乗り換えキャンペーンで1ヶ月分の料金が割引されるようです。いわば、ちょっと乗り換え期間分の費用は出るけど、旧契約での上位契約相当に月額費用は変わらずに乗り換えできるイメージです。

    なので、ちょっと面倒ですが、乗り換えてみることにして、素直に新しい「さくらのVPS 1G」の契約をしました。クレジットカードで決済しているので、例によって2週間のお試し期間があります。

    ・・・・が、ここでふと、HDDの容量に着目すると、非常に大容量になっています。

    DropBoxと比較すると、

    • DropBox Pro 50 : 月額US$9.99(約800円)で50GB
    • DropBox Pro 100 : 月額US$19.99(約1600円)で100GB

    と(DropBoxの使い勝手の部分はあるのですが)容量単価ではDropBoxを上回っています。そこで、障害の対策や災害の対策を兼ねて、ローカルの重要なファイル(といっても写真とか趣味のプログラムなどの成果物ですが)を暗号化+DokanSSHFSを使って預けてしまうことを考えました。そこで必要なHDD容量を見積もると100GBでは少し足りないことがわかりましたので、「さくらのVPS 1G」を速攻でキャンセルして、「さくらのVPS 2G」に変更しました。

    早速改めて申し込みなおすと15分くらいで使えるようになりました。


  • FreeNXのショートカットキー操作

    投稿日 2011年 6月 13日 コメントはありません

    FreeNXは非常に便利なのですが、Ubuntuで使っているとどうしても上下にクライアント側の表示領域がとられてしまうので今ひとつの感がありました。かといって、設定でフルスクリーンにしてしまうと、一時的にローカル側を参照したくても参照する方法がわかりませんでした。

    しかし、ようやくNoMACHINE社のFAQに記載があるのを見つけました。自分が使っているのは3.X系のクライアントなので、その部分を自分用に意訳しておくことにしました。(誤訳していたらごめんなさい。また、よくわからない部分は英語のままにしておきます。中身がわかったらアップデートするかもしれません。)

    • フルスクリーンモードからネイティブのOSのデスクトップに戻るには、スクリーン右上隅の「マジックピクセル」をクリックする。
    • Ctrl + Alt + Shift + Esc to get rid of a not responding session
    • Ctrl + Alt + T : セッションを終了する
    • Ctrl + Alt + F : フルスクリーンとウインドウモードの切り替え(この機能はWindowsでは利用できない)
    • Ctrl + Alt + Shift + F to switch to multimonitor fullscreen/windowed (Note: This feature is not available on Windows)
    • Ctrl + Alt + M : フルスクリーンウインドウを最小化/最大化する
    • Ctrl + Alt + arrow keys : 仮想デスクトップ画面の切り替え
    • Ctrl + Alt + keypad arrow keys to viewport navigation (Note: this action is performed also by keeping Ctrl + Alt pressed and dragging the content of the main window by the pointer)
    • Ctrl + Alt + R to switch “auto-resize/viewport” mode. The agent starts in auto-resize mode, so users can resize the desktop simply by resizing the main window. In viewport mode, resizing the main window doesn’t make the desktop resize itself, but users can navigate the desktop by moving the viewport (Note: the auto-resize feature will be available on Windows starting with NX 4.0.0)
    • Ctrl + Alt + E to toggle the lazy encoding
    • Ctrl + Alt + J : 強制再描画。画面表示の問題が出たときに修復を試みるために使う
    • Alt + F4 : ウインドウマネージャが存在する場合にセッションをサスペンドまたは終了する
    • Ctrl + Alt + K enable/disable the catching of Alt+Tab and Print Screen
      keys

    まあ、赤字の部分だけわかれば課題は解決なんですけどね。


  • さくらのVPS(6) ~FreeNXを試す その2~

    投稿日 2011年 4月 20日 コメントはありません

    FreeNXが動作するようになって、非常に高速なリモートデスクトップ環境ができたのですが、SSHのログイン認証をパスワード認証に戻さざるを得なくなってしまいました。

    が、それはなるべく避けたいもの。

    そこでいろいろしらべていくと、いくつかのことがわかってきました。

    • NX Clientの設定で秘密鍵が登録されているのはなぜ?
    • 秘密鍵があるということは、組になる公開鍵があるはずです。しかし、そんなものをサーバ側に置いた記憶はありません。
    • どうやらデフォルトの秘密鍵/公開鍵ペアをもっていて、NX Serverと共有しているみたい。これは置き換え可能なようです。

    ということで、鍵を作り直して、設定しなおします。

    1. ログイン用鍵ペアを作り直します。
    2. $ ssh-keygen -d -N “パスフレーズ” -f id_dsa
      $ ssh-keygen -d -N “” -f nx_dsa

      として、鍵ペアを生成します。

    3. 「id_dsa.pub」の中身をサーバ側の ~/.ssh/authorized_keys に追加します。
    4. 「nx_dsa.pub」の中身で /var/lib/nxserver/home/.ssh/authorized_keys のキーの部分を置き換えます。冒頭に port/agent forward の禁止に関する記述があったので、そこはそのままにしておきました。(もとのファイルはリネームして取っておきます)
    5. NX Client の Configure設定で、General/Serverの部分の「Key…」を押して、秘密鍵「nx_dsa」の内容を登録します。
    6. ここで一旦 NX Client で接続してみましたが、問題ありませんでした。これでデフォルトの鍵ペアではなく自分専用の鍵ペアでFreeNXが動いているはずです。
    7. ログイン認証時のパスワード認証を禁止します。
      /etc/ssh/sshd_config の「PasswordAuthentication」の行を「no」に変更する。さらに、ローカルホストからのSSHログインではパスワード認証が必要なため、以下の内容を最終行に追加する。
    8. Match Address 127.0.*.*
      PasswordAuthentication yes
      Match Host localhost
      PasswordAuthentication yes

    9. 再起動してNX Clientからログインしてみて問題ないことを確認する。
    10. Teratermからもログインしてみる。SSHではプレインテキストではログインできず、RSA/DSA鍵を使用したログインは成功することを確認する。

    ということで、無事に軽量なリモートUbuntu環境ができました。

    参考にしたサイト:
    NXリモートログインのセキュリティ強化 : 参考っつーか、ほとんどそのまま。実際に作業される方はこちらをご覧になったほうがいいかと思います。


  • さくらのVPS(5) ~FreeNXを試す その1~

    投稿日 2011年 4月 19日 コメントはありません

    デスクトップ環境をインストールしたことで、VNCベースで「さくらのVPS」上の仮想マシンでデスクトップ環境が使えるようになったわけですが、正直遅いです。

    で、WindowsのRDPくらい高速なものはないだろうか、と探していたらFreeNXというのがあることを知りました。

    参考にしたのは(いつもの?)技術評論社のUbuntu Weekly Recipeの『第98回 FreeNXでリモート・デスクトップ環境を実現する』です。

    早速、インストールしてみます。

    FreeNXのPPAページをみると、「Technical details about this PPA」というリンクがあり、そこのプルダウンメニューで「Lucid(10.04)」を選択すると、必要なコマンド

    deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu lucid main
    deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu lucid main

    が表示されます。これをさくらのVPS側で動いているUbuntu上のSynaptic パッケージマネージャでリポジトリに追加します。追加した後、指示に従って、パッケージマネージャで「再読込」をして、クイック検索で「FreeNX」と入力すると、関連するパッケージが表示されますので、「freenx」にチェックを入れると依存関係にある多数のパッケージのインストール確認が行われますので、それらを受け入れた後、インストールを行います。インストールは短時間で終わります。

    次にクライアント側のインストールです。
    クライアント側はNoMachine社のDOWNLOADページにある「NX Client for Linux」、その中の「NX Client DEB for Linux – i386」を使います。ローカルのUbuntuマシンでダウンロードしたファイルを「開く」とすると、パッケージインストーラが起動しますので、「パッケージのインストール」を押します。

    インストールが完了すると、「アプリケーション」→「インターネット」の下に「NX Client for Linux」が追加されます。その中の「NX Client for Linux」を起動すると、「NX Connection Wizard」を起動しますので、接続先、SSHのポート、デスクトップの種類(これはUnixとGNOMEを選択する)などを設定します。

    完了するとログインユーザー名とパスワードを入力する画面になりますが、パスワードを入力しても認証に失敗します・・・。

    よく考えると、SSHの秘密鍵の位置もNX Clientは知らないはずだし・・・。
    ということで、/etc/ssh/sshd_config を書き換えて、パスワード認証を許可してみると・・・ログインできました。VNCベースのものとくらべて非常に高速です。この速度なら完全にリモートデスクトップベースで使えます!

    ・・・が、やはりパスワード認証は閉じておきたいもの。もう少し調べてみます。


  • さくらのVPS(4) ~デスクトップ環境のインストール~

    投稿日 2011年 4月 18日 コメントはありません

    セキュリティの設定ができたので、デスクトップ環境をインストールします。VNCコンソール上でログインを行い、

    $ sudo tasksel

    として、タスク選択画面を表示させます。パッケージメニューから「Ubuntu desktop」を選択して「Ok」のところでEnterを押すと、インストールが始まります。インストールが完了したら、再起動させます。このとき、再起動後に表示されたグラフィカルログインではキー入力ができませんでしたが、VNCコンソールを再起動させたら入力できました。

    表示がすべて英語なので、ロケールの変更をしていなかったのを思い出し、

    sudo locale-gen ja_JP.UTF-8
    sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8

    としてロケール変更しました。その後、再起動、ログインするとフォルダ名を日本語に変更するか聞いてきますので、変更させました。

    「Administration」→「Language Support」とすると、「言語サポートがインストールされていないのでインストールするか?」と聞かれるので、インストールします。
    インストール後、タブ2つ(言語とテキスト)についてそれぞれ日本語を選択します。IMEシステムはibusのままとします。

    これで一旦ログアウトしてログインすると見慣れた日本語環境になっています。


  • さくらのVPS(3) ~入れ替え&セキュリティ設定~

    投稿日 2011年 4月 17日 コメントはありません

    今度は本命のUbuntuに入れ替えます。

    カスタムOSインストールガイドに詳しく書いてあるので、作業自体は簡単です。こちらは多少時間がかかりますが、それでもCDROMから古いスペックのローカルマシンにインストールするより早いかもしれません。

    で、カスタムインストールが終わったあと、再起動するだけではCUIモードになっています。ここにいろいろとやっていきます。

    が、まずは何はともあれ、セキュリティです。まず、ログイン用にOpenSSH Serverをインストールします。

    $ sudo tasksel

    で「OpenSSH server」にチェックを入れて、「OK」でEnterを押します。インストールはあっという間に終わります。

    早速、/etc/sshd/sshd_config を編集して、ポート番号をデフォルトの22からxxxx(もちろん内緒です)に変更します。最初の方にある「Port 22」の部分を修正します。修正後、再読み込みをさせたかったのですが、わからなかったのでリブートしました。(「$ sudo /etc/init.d/ssh reload」でできるみたい・・・)

    sshでログインしなおして、ufwで他のポートを塞ぎます。

    $ sudo ufw allow xxxx(sshのポート)
    $ sudo ufw default deny
    $ sudo ufw enable

    とします。最後に「実行するとsshでログインできなくなるかも」みたいなメッセージが出ますが実行します。その後すぐに、別のターミナルからsshでログインできることを確認します。(この状態でもVPSコントロールパネルや仮想シリアルコンソールは使えるようなので大丈夫ですけどね)

    次に、公開鍵認証の設定をします。鍵の生成にはTeraTerm Proを使いました。「設定」→「SSH鍵生成」で、RSA/DSAの公開鍵ペアを生成します。作成したら、id_dsa.pub と id_rsa.pub の公開鍵を連結してサーバ側(さくらのVPS側のUbuntu)の ~/.ssh/authorized_keys に転送し、

    $ chmod 700 ~/.ssh
    $ chmod 600 ~/.ssh/authorized_keys

    として他のユーザー(といっても正常なら誰もいませんが・・・)がアクセスできないようにしておきます。

    ※まだよくわかっていないので、調べなければならないのですが、鍵はDSAだけで良さそうな感じがします。

    で、TeraTermで ホスト名とポートを指定してSSH2で接続した際に、「RSA/DSA鍵を使う」で鍵ファイルを指定し、ユーザー名/パスフレーズ(秘密鍵のパスフレーズ)を入力するとログインすることができました。Windowsの適当な場所に秘密鍵をコピーし、TeraTermで「設定」→「SSH認証」でユーザ名と秘密鍵を指定しておきます。

    ここまで確認できたら、/etc/ssh/ssh_config を改めて編集して、

    # Change to no to disable tunnelled clear text passwords
    #PasswordAuthentication yes
    PasswordAuthentication no

    として、パスワード認証を禁止します。

    Ubuntuからもログインできるように、

    $ ssh-keygen -t dsa

    でパスフレーズを入力して鍵ペアを生成します。生成された ~/.ssh/id_dsa.pub をホスト側の /.ssh/authorized_keys に追加してやると、

    $ ssh -p ポート番号 ホスト名

    でアクセスできるようになりました。


  • さくらのVPS(2) ~サインアップ~

    投稿日 2011年 4月 16日 コメントはありません

    VPSの契約は非常に簡単で、あっという間に終わります。

    が、問題はその後です。

    まず、契約が完了した後にどうしていいかわからない。Webの「契約サービス一覧・表示」をみても、「状態」は「申込中」としか表示されておらず、VPSの準備が完了したのかどうかわかりません。

    恐る恐る「サーバ設定」の手続きボタンを押してみたら、「VPSコントロールパネル」が表示されました。ブラウザ上の仮想シリアルコンソールに起動画面(コンソール出力)が表示されていって、最後にloginプロンプトが出ました。で、困った(いや、実際には困ってないのだけど)のが、最初にインストールされているCentOS5.5のrootの初期パスワードがわからないことでした。

    ・・・・・・・わからん。

    悩んでも仕方ないので、早速VPSコントロールパネルから「OS再インストール」を選んで、さくっとCentOSを再インストールしてしまいました。再インストールはあっという間に終わります。今度は再インストールの前に聞かれたrootのパスワードで無事にログインできました。