- Email from your tabular data (Excel, CSV, TSV, etc.)
- Using Gmail SMTP (you don't worry whether your server is in spam blacklists)
- Customizable mail template, no Ads
2011年8月14日日曜日
Sending Emails from CSV/TSV Formatted Data through Gmail SMTP by Ruby
A Japanese version of this document is in TechRacho.
I want to send e-mails to my students from my Excel-formatted list. I don't have any SMTP servers so that I use Gmail SMTP.
The advantage of this program is:
2010年2月9日火曜日
[Linux]: Linuxでコマンドラインからテープバックアップ
昔書いたテープバックアップのスクリプト.PHPだけど.
商用のバックアップソフトなどを使わないフリーソフトのみの構成.
ちなみにこのスクリプトではnst0を対象としているので,書き込んだ後テープは自動で巻き戻されない(no rewindのn).
毎回巻き戻しをしたければ,st0を対象にすれば良い.
商用のバックアップソフトなどを使わないフリーソフトのみの構成.
- mtコマンドのためにmt-stパッケージをインストールする
- テープデバイスのデバイスファイルを確認する(ここでは/dev/nst0)
- mt -f /dev/nst0 statしてきちんとデバイス情報が取れるかを確認
- 以下のスクリプトを実行.TAPE_DEV, BACKUP_DIRは必要に応じて書き換える
#!/usr/local/bin/php
<?php
define('MT', '/bin/mt');
define('TAPE_DEV', '/dev/nst0');
define('BACKUP_DIR', '/home');
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
);
$cwd = BACKUP_DIR;
$process = proc_open(MT.' -f '.TAPE_DEV.' stat', $descriptorspec, $pipes, $cwd);
$onlineFlag = false;
if (is_resource($process)) {
while($buff = fgets($pipes[1], 4096)){
if(strpos($buff, "ONLINE") !== false){
$onlineFlag = true;
}
}
if($onlineFlag){
ini_set('max_execution_time', 0);
system("tar zcf ".TAPE_DEV." ".BACKUP_DIR);
system(MT." -f ".TAPE_DEV.' eject');
}
$return_value = proc_close($process);
echo "command returned $return_value\n";
}
?>
ちなみにこのスクリプトではnst0を対象としているので,書き込んだ後テープは自動で巻き戻されない(no rewindのn).
毎回巻き戻しをしたければ,st0を対象にすれば良い.
2009年8月14日金曜日
[Java on Linux]: Ubuntu 9.04で日本語がトウフにならないようにする設定
Ubuntu 9.04でJava(JDK, JRE)をSUNからダウンロードしてインストールしている場合,フォントの設定がされていないため日本語が白い四角(□,一部では豆腐,トウフとも言う)になってしまう問題を解決した.
Java 1.6ではフォントに関する定義は$JRE_HOME/lib/fontconfig.propertiesというファイルで置けば良いみたいなので,JVMをインストールしたディレクトリに以下の内容のファイルを配置する.
でも,JREをアップデートしたらまた配置し直すのを忘れそうだ・・・
Java 1.6ではフォントに関する定義は$JRE_HOME/lib/fontconfig.propertiesというファイルで置けば良いみたいなので,JVMをインストールしたディレクトリに以下の内容のファイルを配置する.
# VersionRedHat用のファイルを元にEmacsでReplace Stringしただけだけど,とりあえずこれで動いたので良しとする.
version=1
# Component Font Mappings
allfonts.chinese-cn-iso10646=-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1
allfonts.chinese-tw-iso10646=-arphic technology co.-ar pl mingti2l big5-medium-r-normal--*-%d-*-*-c-*-iso10646-1
allfonts.lucida=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
serif.plain.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.plain.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.plain.latin-1=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.bold.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.italic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.italic.latin-1=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.bolditalic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.plain.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.plain.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.bold.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.italic.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.bolditalic.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
monospaced.plain.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.plain.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.bold.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.italic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.bolditalic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialog.plain.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.plain.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.bold.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.italic.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.japanese-iso10646=-japanese-gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.bolditalic.korean-iso10646=-misc-baekmuk gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialoginput.plain.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.plain.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.bold.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.italic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.japanese-iso10646=-japanese-mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.bolditalic.korean-iso10646=-misc-baekmuk batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1
dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
# Search Sequences
sequence.allfonts=latin-1
sequence.allfonts.UTF-8.ko.KR=latin-1,korean-iso10646
sequence.allfonts.UTF-8.ja.JP=latin-1,japanese-iso10646
sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-cn-iso10646
sequence.allfonts.UTF-8.zh.TW=latin-1,chinese-tw-iso10646
sequence.allfonts.UTF-8.zh.HK=latin-1,chinese-tw-iso10646
sequence.fallback=lucida,chinese-tw-iso10646,chinese-cn-iso10646,japanese-iso10646,korean-iso10646
# Exclusion Ranges
exclusion.japanese-iso10646=2200-22ef,2701-27be,20a0-20aa,2153-215f,2166-2168,216a-216f,2173-2182
# Font File Names
filename.-arphic_technology_co.-ar_pl_mingti2l_big5-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf
filename.-misc-baekmuk_batang-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/ko/TrueType/batang.ttf
filename.-misc-baekmuk_gulim-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/ko/TrueType/gulim.ttf
filename.-misc-kochi_gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf
filename.-misc-kochi_mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/ja/TrueType/kochi-mincho-subst.ttf
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
filename.-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaSansRegular.ttf
filename.-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaBrightRegular.ttf
filename.-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaBrightDemiBold.ttf
filename.-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaBrightItalic.ttf
filename.-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaBrightDemiItalic.ttf
filename.-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaSansDemiBold.ttf
filename.-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaSansRegular.ttf
filename.-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaSansDemiBold.ttf
filename.-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1=$JRE_LIB_FONTS/LucidaTypewriterRegular.ttf
filename.-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1=$JRE_LIB_FONTS/LucidaTypewriterBold.ttf
filename.-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1=$JRE_LIB_FONTS/LucidaTypewriterRegular.ttf
filename.-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1=$JRE_LIB_FONTS/LucidaTypewriterBold.ttf
# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/share/fonts/zh_TW/TrueType
awtfontpath.chinese-cn-iso10646=/usr/share/fonts/zh_CN/TrueType
awtfontpath.japanese-iso10646=/usr/share/fonts/truetype
awtfontpath.korean-iso10646=/usr/share/fonts/ko/TrueType
でも,JREをアップデートしたらまた配置し直すのを忘れそうだ・・・
2009年1月29日木曜日
[UNIX]: シェルスクリプトで指定回数の繰り返し処理
普段プログラミングしていて,指定回数繰り返す処理といったら
であるが,たまにシェルスクリプトを書いているときに同じように書こうとしても,for文を使うとなかなかうまくいかない.
というわけで,シェルスクリプトで繰り返しを書くときは,while文を使って次のように書いている.
とすると多分うまくいかない.
というのは,man testすると<, >の記号は文字列としてASCIIコード順での順位で比較すると書いているためで,もし数値比較したいのであれば-gt, -ltを使うように書いてある.
そんなわけで,シェルスクリプトで数値比較をするときにはexprを使うと覚えておけばとりあえず間違いは無いということだろう.
for(int i = 0; i < n;i++){
.....;
}
であるが,たまにシェルスクリプトを書いているときに同じように書こうとしても,for文を使うとなかなかうまくいかない.
というわけで,シェルスクリプトで繰り返しを書くときは,while文を使って次のように書いている.
loop=10;#繰り返し回数要はexprコマンドを使って数値の計算と比較を行う.ちなみに,break文が入っているif文の条件を
i=0;
while true
do
...;
i=`expr $i + 1`
if `expr $i \>= $loop`
then
break;
fi
done
if [ $i > $loop ]
とすると多分うまくいかない.
というのは,man testすると<, >の記号は文字列としてASCIIコード順での順位で比較すると書いているためで,もし数値比較したいのであれば-gt, -ltを使うように書いてある.
そんなわけで,シェルスクリプトで数値比較をするときにはexprを使うと覚えておけばとりあえず間違いは無いということだろう.
2009年1月18日日曜日
[Linux]: LinuxでSATA HDDの型番とシリアルナンバーを調べる
最近Seagate製SATA HDDの一部の型番の製品に,電源投入時にHDDが認識されないFirmwareのバグが存在するらしい.
Seagateナレッジベース
GALACTIC FUNC | seagateがやばい
というわけで,手元のLinuxマシンでHDDの型番を調べる方法を紹介.
やり方は,
(1/19追記)Seagateから手持ちのHDDが該当する個体かをシリアルナンバーから確認するフォームが提供された.
http://support.seagate.com/sncheck.html
シリアルナンバーを調べるには,
Firmwareアップデートで対応できるみたいだけど,以下の型番に該当しないか動いている内に調べて,もし該当していたらとりあえずデータを退避させることを勧める.
# 1/19 : シリアルナンバーの取得方法を追記
Seagateナレッジベース
GALACTIC FUNC | seagateがやばい
というわけで,手元のLinuxマシンでHDDの型番を調べる方法を紹介.
やり方は,
$ cat /proc/scsi/scsiするだけ.
(1/19追記)Seagateから手持ちのHDDが該当する個体かをシリアルナンバーから確認するフォームが提供された.
http://support.seagate.com/sncheck.html
シリアルナンバーを調べるには,
# hdparm -i /dev/[HDDデバイスファイル]とする.
$ sudo hdparm -i /dev/sdb
/dev/sdb:
Model=ST31000333AS , FwRev=SD15 , SerialNo= XXXXXXX
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?8?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4,5,6,7
* signifies the current active mode
Firmwareアップデートで対応できるみたいだけど,以下の型番に該当しないか動いている内に調べて,もし該当していたらとりあえずデータを退避させることを勧める.
Barracuda 7200.11# 1/18 : 容量を併記
ST31000340AS/1TB
ST31000640AS/1TB
ST3750330AS/750GB
ST3750630AS/750GB
ST3640330AS/640GB
ST3640630AS/640GB
ST3500320AS/500GB
ST3500620AS/500GB
ST3500820AS/500GB
ST31500341AS/1.5TB
ST31000333AS/1TB
ST3640323AS/640GB
ST3640623AS/640GB
ST3320613AS/320GB
ST3320813AS/320GB
ST3160813AS/160GB
Barracuda ES.2 SATA
ST31000340NS/1TB
ST3750330NS/750GB
ST3500320NS/500GB
ST3250310NS/250GB
DiamondMax 22
STM31000340AS/1TB
STM31000640AS/1TB
STM3750330AS/750GB
STM3750630AS/750GB
STM3500320AS/500GB
STM3500620AS/500GB
STM3500820AS/500GB
STM31000334AS/1TB
STM3320614AS/320GB
STM3160813AS/160GB
# 1/19 : シリアルナンバーの取得方法を追記
2009年1月11日日曜日
[Emacs]: Emacsで文字コードを指定して保存する
WindowsからMac OS Xに移行してテキストエディタとして最近Emacsを使い始めた人で,文字コードを指定して保存する方法が分からなくて困っている人をよく見かけるので紹介.
保存のためのコマンドは「C-x RET f」である.初心者の人に分かりやすく書くと「Ctrl+xの後にReturn(Enter)キーを押し,さらにfキーを押す」ということになる.
ここまで正常に実行されると「Coding system for saving file (default nil): 」と表示されるので,保存したい文字コードの名前を入力する.
対応する文字コードはTABキーを二回押すことでリストされるので,どのような名前で指定すれば良いか分からない場合はこの中から選択することもできる.

通常日本語環境で使うのはウィンドウズで標準の「shift-jis-dos」または「sjis-dos」,Mac OS XやXMLなどで標準の「utf-8」,古いUNIX系システムで使われている「euc-jp-unix」あたりだろう.
ちなみに現在編集中のファイルの文字コードは画面下部のステータス部の先頭をよく見ると分かる.
「-u」となっていればUTF-8,「S(DOS)」となっていればSJIS-DOS,「-E」となっていればEUC-JPとなる.
保存のためのコマンドは「C-x RET f」である.初心者の人に分かりやすく書くと「Ctrl+xの後にReturn(Enter)キーを押し,さらにfキーを押す」ということになる.
ここまで正常に実行されると「Coding system for saving file (default nil): 」と表示されるので,保存したい文字コードの名前を入力する.
対応する文字コードはTABキーを二回押すことでリストされるので,どのような名前で指定すれば良いか分からない場合はこの中から選択することもできる.

通常日本語環境で使うのはウィンドウズで標準の「shift-jis-dos」または「sjis-dos」,Mac OS XやXMLなどで標準の「utf-8」,古いUNIX系システムで使われている「euc-jp-unix」あたりだろう.
ちなみに現在編集中のファイルの文字コードは画面下部のステータス部の先頭をよく見ると分かる.
「-u」となっていればUTF-8,「S(DOS)」となっていればSJIS-DOS,「-E」となっていればEUC-JPとなる.
2009年1月4日日曜日
Subversionで22番ポート以外にsvnsshする方法
SSHサーバを22番ポートで運用していると,海外を中心にあちこちからブルートフォースアタックが飛んでくるため,/var/log/secureがひどいことになる
ただ,こうするとsubversionのサーバとして使っているサーバの場合,svnコマンドで「svn+ssh://〜〜」といった指定をしてもアクセスできなくなってしまう.これはsvnがsshは22番ポートで動作している事を前提としているからである.
これを回避するには,~/.subversion/configを開いて,[tunnel]というセクションがあるので,その後ろの行に
後ろのsshオプション部分をいじってやれば,指定した公開鍵でログインといったこともできる(はず).
コンフィグファイルを編集せずに,コマンドラインオプションで設定する方法を探したのだが,見つからなかったので今はこんな形で対応している.
Jan 4 05:42:51 www sshd[26460]: Invalid user postgres from ::ffff:121.96.42.157そのため,sshd自体を22番以外のポートで運用するという対策がある.CentOS,FedoraといったRedhat系Linuxでは/etc/sshd/sshd_configに
Jan 4 05:42:51 www sshd[26461]: input_userauth_request: invalid user postgres
Jan 4 05:42:51 www sshd[26460]: reverse mapping checking getaddrinfo for 121.96.42.157.bti.net.ph failed -
POSSIBLE BREAKIN ATTEMPT!
Jan 4 05:42:53 www sshd[26460]: Failed password for invalid user postgres from ::ffff:121.96.42.157 port 5
7258 ssh2
Jan 4 05:42:53 www sshd[26461]: Received disconnect from ::ffff:121.96.42.157: 11: Bye Bye
Jan 4 05:42:55 www sshd[26462]: Invalid user pilarova from ::ffff:121.96.42.157
Jan 4 05:42:55 www sshd[26463]: input_userauth_request: invalid user pilarova
Jan 4 05:42:55 www sshd[26462]: reverse mapping checking getaddrinfo for 121.96.42.157.bti.net.ph failed -
POSSIBLE BREAKIN ATTEMPT!
....
Port 222としてやればいい(222番ポートの場合).
ただ,こうするとsubversionのサーバとして使っているサーバの場合,svnコマンドで「svn+ssh://〜〜」といった指定をしてもアクセスできなくなってしまう.これはsvnがsshは22番ポートで動作している事を前提としているからである.
これを回避するには,~/.subversion/configを開いて,[tunnel]というセクションがあるので,その後ろの行に
[tunnels]という行を追加してやり「svn+ssh://〜〜」としていた部分を「svn+p222://〜〜」といった形に直してリポジトリにアクセスすれば良い.
p222=ssh -p222
後ろのsshオプション部分をいじってやれば,指定した公開鍵でログインといったこともできる(はず).
コンフィグファイルを編集せずに,コマンドラインオプションで設定する方法を探したのだが,見つからなかったので今はこんな形で対応している.
登録:
投稿 (Atom)