ソフト | Select Packages | コマンド名 | |
---|---|---|---|
OpenSSH | Net | openssh | /usr/bin/ssh |
|
TakaoさんのCygwinを利用してWindowsにHBaseをインストールのSSH設定をほぼそのまま実行させていただきました。
作業内容 | 実施コマンド | |
---|---|---|
1 | パスワードファイル等の権限を設定する。 |
chmod +r,u+w /etc/passwd chmod +r,u+w /etc/group chmod 755 /var |
2 | sshdの設定ファイルを作成する。 |
ssh-host-config -y *** Info: Generating /etc/ssh_host_key |
3 | WindowsのアカウントをCygwinに同期する。 |
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group |
作業内容 | 実施コマンド(Cygwin(bash)) | コマンドプロンプトの場合 | |
---|---|---|---|
1 | sshサービスを起動する。 |
cygrunsrv -S sshd |
net start sshd CYGWIN sshd サービスを開始します. |
2 | サービス状態の確認方法 実行中はStateがRunning 停止中はStopping |
cygrunsrv -Q sshd Service : sshd |
sc query sshd SERVICE_NAME: sshd |
3 | sshサービスを停止する。 |
cygrunsrv -E sshd |
net stop sshd CYGWIN sshd サービスを停止中です. |
作業内容 | 実施コマンド | |
---|---|---|
1 | sshにログインする。 |
ssh 127.0.0.1 hishidama@127.0.0.1's password: |
2 | sshからログアウトする。 (Cygwin(bash)のコンソールに戻る) |
exitl ogout |
sshサービス(sshd)が起動されていないと、ログインが失敗する。
ssh: connect to host 127.0.0.1 port 22: Connection refused
実施コマンド | 備考 | |
---|---|---|
1 |
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa Generating public/private dsa key pair. 〜 |
|
2 |
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys |
|
3 |
chmod 600 ~/.ssh/authorized_keys |
|
ssh 127.0.0.1 Last login: Thu Feb 18 21:15:12 2010 from localhost |
sshにログインしても パスワード入力を求められなくなる。 |
~/.sshの下のid_dsaとid_dsa.pubとauthorized_keysを削除すると、ログイン時にパスワード入力が要求されるようになる。
Cygwinのssh経由の環境では、定義される環境変数は通常のbashのログイン時より少ない。[2010-03-28]
基本的にはWindowsのシステム環境変数の一部が定義されるだけのようだ。
例えば環境変数TMP・TEMPやPATHは、システム環境変数の値が有効になっており、ユーザー環境変数で指定されている値ではない。
環境変数の確認方法:
$ ssh localhost echo '$TEMP' /cygdrive/c/WINDOWS/TEMP $ echo $TEMP /cygdrive/c/DOCUME~1/hishidama/LOCALS~1/Temp
ssh用の環境変数を指定するには、以下のような設定を行う。
内容 | 実施コマンド | 編集例 | 備考 |
---|---|---|---|
環境変数使用を有効にする。 |
vi /etc/sshd_config |
#PermitUserEnvironment no PermitUserEnvironment yes |
PermitUserEnvironmentを「yes」にする。 デフォルトは「no」 |
環境変数を定義する。 |
vi ~/.ssh/environment |
PATH=/bin MYENV=zzz:$PATH |
最初、environmentというファイルは存在していない。 「$」による環境変数の展開は行われない。 左記の例では、「$PATH」という文字がそのまま残る。 |
sshdを再起動する。 |
cygrunsrv -E sshd cygrunsrv -S sshd |
sshd_configを反映させるには再起動が必要だが、 environmentはsshによるログイン時に読み込まれるので 再起動は不要。 |
|
環境変数の内容を確認する。 |
$ ssh localhost echo '$PATH' /bin $ ssh localhost echo '$MYENV' zzz:$PATH |
参考: taiyoさんのssh-env - ssh実行時に環境変数を設定/変更したい