まずパスワードファイル等の権限の設定
[code]
chmod +r,u+w /etc/passwd
chmod +r,u+w /etc/group
chmod 755 /var
[/code]
次にsshd設定ファイルを作成
[code]
ssh-host-config -y
[/code]
このように途中で、"yes"の入力を求められるところが現れる。
次にwindowsのアカウントをCygwinに同期
[code]
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
[/code]
sshサービスを起動
[code]
cygrunsrv -S sshd
[/code]
sshサービスの起動状態の確認方法
[code]
cygrunsrv -Q sshd
[/code]
実行中であればStatusがRunnning
停止中は、Stopping
実際にノーパスワードでログインできるか確認
[code]ssh localhost[/code]
このようなCygwinのロゴが表示され、RSAキーをlocalhost側に登録する旨を"yes"で許可する。
[code]
$ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is f7:2c:4f:9e:ce:b9:81:0b:52:5c:aa:fd:6a:87:f5:41.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
SEIJI@localhost's password:
____________________, ______________________________________
.QQQQQQQQQQQQQQQQQQQQQQQQL_ | |
.gQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ__ | |
gQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ== | _.---.) |
QQQQQQQQQQQQQQQQQQQQQQQQQQQF= | (^--^)_.-" `; |
QQQQQQQQQ================! | ) ee ( | |
QQQQQQQQ | (_.__._) / |
QQQQQQQQ | `--', ,' |
QQQQQQQQ ~"jjj__, | jgs )_|--')_| |
QQQQQQQQ "jjjjjjjjjj___ | ""' ""' |
QQQQQQQQ ~jjjjjjjjjjjjjjjjj__ | |
QQQQQQQQ _jjjjjjjjjjjjjj/~~~~ | The Hippo says: Welcome to |
QQQQQQQQ .{jjjjjjj/~~~~~ | _ |
QQQQQQQQ .{/~~~~` | ____ _ _ ____ _ _ _ (_) ____ |
QQQQQQQQ | / ___)| | | | / _ || | | || || _ \ |
QQQQQQQQ |( (___ | |_| |( (_| || | | || || | | ||
QQQQQQQQQL_______________, | \____) \__ | \___ | \___/ |_||_| |_||
QQQQQQQQQQQQQQQQQQQQQQQQQQQL___ | (___/ (____| |
4QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___ | |
(=QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ==== | -.-. -.-- --. .-- .. -. |
(QQQQQQQQQQQQQQQQQQQQQQQQF= |______________________________________|
[/code]
次にDSAも同様に。DSAキーを発行して登録
[code]
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
Generating public/private dsa key pair.
Your identification has been saved in /home/SEIJI/.ssh/id_dsa.
Your public key has been saved in /home/SEIJI/.ssh/id_dsa.pub.
The key fingerprint is:
ea:1e:4f:22:ce:40:90:40:1c:cb:6d:d6:ae:33:9b:ad SEIJI@SEIJI_PC
The key's randomart image is:
+--[ DSA 1024]----+
|+o. |
|ooo . |
|oo + . |
| .o . |
| . . S |
| . . . |
| .+. + . |
| +*o = |
| E+oo . |
+-----------------+
[/code]
ここまででひとまずOpenSSHにパスワードなしでログインできるようになった。
まとめ
HadoopをWindows機で動かそうとすると(喩えStandalone設定でも)ログインが失敗する
[code]ssh: connect to host 127.0.0.1 port 22: Connection refused[/code]
Hadoopを起動させる前に予めOpenSSHをインストールしておく必要がある
参考コマンド集
bash[オプション][スクリプトファイル]・・・コマンドを解釈して実行シェル
chgrp[オプション]グループ ファイル・・・ファイルとディレクトリの所有グループを変更する
chmod[オプション]モード[,モード…ファイル・・・ファイルとディレクトリのアクセス権を変更する
chmod[オプション]8進数のモード ファイル
chmod[オプション]--reference=リファレンスファイル ファイル
chown[オプション][]・・・ファイルとディレクトリの所有者を変更する
chown[オプション][]・・・
chown[]
cp・・・ファイルとディレクトリをコピーする
dd・・・バイナリデータをコピーする
df・・・ディスクの使用/未使用領域を表示する
du・・・ファイルやディレクトリの利用サイズを集計して表示する
ln・・・ファイルやディレクトリのリンクファイルを作成する
ls・・・ファイルやディレクトリの情報を表示する
mkdir・・・ディレクトリを作成する
mv・・・ファイルやディレクトリを移動する、名前を変更する。
rm・・・ファイルやディレクトリを削除する
rmdir・・・ディレクトリを削除する
shred・・・ファイルを裁断して完全に消去する
sync・・・ディスクキャッシュをハードディスクに書き込む
touch・・・空ファイルを作ったり、ファイルのアクセス時刻等を変更する。
cmp・・・2つのファイルの違いをバイナリレベルで調査する
diff・・・2つのファイルを行単位で比較する
basename・・・ディレクトリを含んだファイル名からファイル名のみを取り出す
chroot・・・ルートディレクトリを指定してコマンドを実行する。
date・・・現在の日付と時刻を表示・変更する
dirname・・・ディレクトリを含んだファイル名からディレクトリのみを取り出す
env・・・環境変数を変更してコマンドを実行する
expr・・・式を評価する
factor・・・数値を素因数分解して素数の約数を求める
false・・・以上終了値を返す
hostname・・・ホスト名を表示する
id・・・指定ユーザーのユーザーIDとグループIDを表示する
cat・・・ファイルを連続して出力する
cksum・・・ファイルのCRCチェックサムとバイト数を表示する
comm・・・ソート済みの2つのファイルを行単位で比較する
csplit・・・ファイルを指定区切りで分割する
cut・・・ファイルの各行から指定フィールドを切り出して表示する
expand・・・タブをスペースに変換する
fold・・・指定された幅にあわせて折り返す
head・・・ファイルの先頭部分を表示する
join・・・2つのファイルでフィールドが共通部分を結合する
md5sum・・・MD5メッセージダイジェストを計算して表示・チェックする
nl・・・ファイルに行番号を付加して出力する
od・・・ファイルを8進数(または他の指定形式)で出力する
paste・・・複数のファイルで同じ行を連結して出力する
sort・・・ファイルを行単位でソートする
split・・・ファイルを指定サイズに分割する
sum・・・ファイルのチェックサムとブロック数を表示する
tac・・・ファイルを結合して行単位で逆順に表示する
tail・・・ファイルの末尾を表示する
tr・・・文字を変換・消去する
unexpand・・・2つ以上のスペースまたはタブをタブに変換する
uniq・・・ソートされたファイルから重複した行を削除する
wc・・・ファイルのバイト数・単語数・行数を表示する
bunzip2・・・bz2拡張子ファイルを伸長する
bzip2・・・bz2拡張子ファイルへ圧縮する
clear・・・端末スクリーンをクリアする
file・・・ファイルの種類を推定する
find・・・指定ディレクトリ階層下のファイルを検索する
gawk・・・テキストの検索・置換に特化したプログラミング言語
grep・・・テキストパターンにマッチする行を表示する
gunzip・・・gz拡張子ファイルを伸長する
gzip・・・gz拡張子ファイルへ圧縮する
less・・・ファイルビューア
make・・・コンパイルやインストールなど、ファイルの管理をする
man・・・マニュアルを表示する
more・・・ファイルビューア
ncftp・・・ファイル転送クライアント
patch・・・差分ファイルをオリジナルのファイルに適用する
sed・・・ストリームエディタ
shutdown・・・システムを終了する
ssh・・・ssh接続をするクライアント
tar・・・ファイルをアーカイブする(まとめる)ユーティリティ
telnet・・・telnet接続するクライアント
which・・・PATH環境変数に設定されたディレクトリから実行ファイルを検索する