SSH で、リモートのサーバにパスワードなしでログインする方法

  1. まず、ローカルのマシンで ssh-keygen というコマンドを使って公開鍵・秘密鍵のペアを作成する。オプションの -t dsa だが、DSA (Digital Signature Algorithm) の説明はここ
    # ssh-keygen -t dsa
  2. 上のコマンドを実行すると、.ssh というディレクトリに、id_dsa と id_dsa.pub という 2つのファイルができあがる。どちらもテキストファイルで、この 2つが鍵ペアとなる。拡張子 .pub はその名の通り公開鍵(public key)だから、こちらの方をリモートのサーバに転送する。
    転送の仕方は、 # ssh-copy-id remote_username@remote_host.com または、 # ssh-copy-id -i ~/.ssh/id_dsa.pub remote_username@remote_host.com
続きを読む

Ubuntu で、トラフィックの監視をしたい(MRTG)。

トラフィックの監視は MRTG を使う。Ubuntu の場合は、とりあえず以下のパッケージをインストールしておけばよいと思う。

# apt-get install mrtg # apt-get install mrtg-contrib # apt-get install mrtg-ping-probe # apt-get install mrtg-rrd # apt-get install mrtgutils # apt-get snmp # apt-get install apache2

設定のポイントは、1. /etc/mrtg.cfg の作成、2. index.html の作成、3. snmpd.conf の修正の 3つ。

続きを読む

Linux (Ubuntu)で、起動時のサービス(デーモン)を指定する方法

Debian 系のディストリビューションのパッケージである Ubuntu には、RedHat / Fedora 系の chkconfig がない。なので、起動時のサービスの追加・削除にはchkconfig に相当する update-rc.d を使う(デフォルトで備わっているのでインストール不要)か、sysv-rc-conf を使う(下記のように要インストール)と、CUI で設定できるので便利。

# apt-get install sysv-rc-conf
ちなみに Redhat / Fedora 系では、デーモンを起動時に自動実行するには以下のようにする。コマンド名は /etc/init.d/コマンド名 にあるのと同じ名前。

# chkconfig --add コマンド名
続きを読む

Java で、挿入ソートを考える。

import java.util.*; public class Sort { private Sort() { } public static void output(List data) {
for(int i = 0, n = data.size(); i < n; i++)
System.out.print(data.get(i) + ", "); System.out.println(); } public static void insert(List data) {
for(int i = 0, n = data.size(); i < n; i++ ) {
  int j = i;
  while(j > 0 && data.get(i) < data.get(j - 1))
    j--;
  int tmp = data.get(i);
  for(int k = i; k > j; k--)
    data.set(k, data.get(k - 1));
  data.set(j, tmp);
  output(data);
}
続きを読む

Java で、バブルソートを実現する。

Java でバブルソートのアルゴリズムを考える。

今さらバブルソート・・・でもバブルソートっていったい何なんだ?と思いつつプログラマ業を営んでいる輩も多いかもしれない。バブルソートのアルゴリズムを知らなくても業務プログラムは組めるからね。

続きを読む