× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
![]() |
危うく三日坊主になるところだったけど、 なんとか更新。 というか今帰ってきたところorz 業務内容が無茶ぶりすぎて おれがいてもいなくてもどうにかなるんじゃないかなと 感じる今日この頃。 そんな会社の社員になってしまったから 俺はどうすればいいのだろうかというのが考えどころです。 明日なにもいわれてないんだけど、 会社いかないとなんか言われそうでいやだな~。 とりあえず、 ポートフォワーディングについて試してみます。 といいたいところだが試してみて すでに1時間たった。何か知らんがscpにて秘密鍵が移動できない。 どういうことだろうか? ssh: connect to host connection refused lost connection とか closed by ~だと と悩みながらググリながら、 少し時間がかかったらできたけど 個人的にポートフォワーディングの理解があいまいなので時間があるときにやります。 長い前置きはおいて 今回はsshでリモートログインしているユーザを調べるコマンドを見てみます。 # who -u root :0 2010-5-29 01:19 ? 3042 root pts/1 2010-05-29 01:19 00:05 3242(0:0) root pts/2 2010-05-29 02:06 3242(0:0) -uオプションを使うとユーザが最後に端末操作を行ってからの 経過時間(アイドルタイム)が表示される。 左から順に ・ログインしているユーザ名 ・端末 と調べたら書いてあった ・ログイン時間 ・IPアドレス が見れる。 見るところは pts/1とpts/2 3242(プロセスID)の後の(0:0)という値 pts/1とpts/2も(0:0)だから これは自端末で2つターミナル画面を開いていることになる。 *GUIモードで試しました。 (0:0)のところに192.168.1.40と自端末のIPではない値が表示されていた。 これはwho を実行した端末に192.168.1.40がリモートログインしているということを 意味している。 またはwとうつと # w wコマンドのほうだと、現在どんなユーザがログインして、どんな作業を行っているかもわかる。 一番右に実行したコマンドが表示される。 ログイン時刻やら場所やらみれるのでこちらのほうがくわしくみれて便利かも。 ちょっとざつだけど、もう2時30なので寝ます。 あしたも会社いくかもorz PR |
![]() |
sshにて鍵を作成して、
パスワード認証をなくす。 ①ユーザ作成 # useradd user1 ②パスワード設定 # password user1 ③ユーザ変更 # su - user1 ④鍵作成 $ ssh-keagen -t rsa Enter file in which to save the key(/home/user1/.ssh/id_rsa): Enterを押す Enter passphrase (empty for no passphrase): パスワード入力 Enter same paaaphrase again: もう一度パスワード入力 実務ではuserごとに鍵を作成する。 別の管理者の鍵(例えばuser2)を作成する場合、ここでのパスワードはuser1とは 別のものを設定して本人に鍵を管理してもらう。 ⑤/home/user1/.sshに移動 $ cd /home/user1/.ssh $ pwd /home/user1.ssh $ls id_rsa id_rsa.pub 2つファイルがあるのを確認する。 id_rsa……公開鍵 id_rsa.pub……秘密鍵 公開鍵はサーバにおいておく。 秘密鍵をクライアントにわたす。 ⑥公開鍵をauthorized_keysにする。 $ cat id_rsa.pub > authorized_keys authorized_keysに公開鍵の情報を書き込む $ rm id_rsa.pub 元の公開鍵は消してしまいます。 authorized_keysは鍵認証をする際に/etc/ssh/sshd_configで指定する。 下に進めばわかります。 ⑦authorized_keysのアクセス件を600にする $ chmod 600 authorized_keys $ ls -l -rw------- 1 user1 user1 authorized_keys 上記のアクセス件になっていることを確認する。 ⑧id_rsaをクライアント(Windows)に移動する。 方法としては ①sambaをこのLinuxに入れる。 ②USBやフロッピーでとる。 他にも有ると思うけどとりあえず2つあげとく。 手順についてはまた時間のあるときに記載します。 ⑨Windowsにputtyをダウンロードする。 今回はputty日本語版をダウンロードした。 googleでputty 日本語で検索すると すぐに見つかります。 ⑩解凍ソフト lhaplusをダウンロードする。 puttyはzip形式になっているのでlhaplusを 使用して解凍します。 このソフトすごく便利なのでおすすめです。 ファイル圧縮・解凍ソフトです。 これもgoogleでlhaplus ダウンロードとか やればすぐみつかります。 ⑪puttyのフォルダ内にあるputtygen.exeを実行してid_rsaの秘密鍵から putty用の秘密鍵を作成する。 1, puttygen.exeを実行 2, 今回rsaでid_rsaを作成したので Prametersは SSH-2 RSAにチェックを入れる。 3, Load an existing private key file のLoadを選択する。 4, ファイルの種類を ALL Fileを選択する。 5, ファイル名をid_rsaを選択して開く 6,Puttugem:Enter Passphrase for key と出るので 上記の④にて鍵作成時のパスワードを入力してOK 7,Save private keyを選択する。 8,private_key.ppkという名前にして保存。 ファイルの種類はPuTTy Private Key Files(*.ppk)で問題なし。 保存したらPuTTY Key Generatorを左上の×で閉じる。 ⑪次はサーバ内の/etc/ssh/sshd_configの設定。 # vi /etc/ssh/sshd_config ■Port 22 sshdが利用するポートはデフォルトで22です。 デフォルトのままだとクラッカーに狙われるので 30000だとかポートがかぶらないポートにする。 今回の例だと22222に変更します。 ■Protocol 2 ssh version2プロトコルを指定する設定。 version1は盗聴者がセキュリティが2より弱いので 2を使用する。 今度覚えてたら調べます。 ■PermitRootLogin no rootのログインをできないようにする。 外からアクセスできるサーバとかだと必須。 rootは管理者権限なので誰でもアクセスできると ファイルを勝手にいじられてバグがでたりすると こまります。 ■PermitEmptyPasswords no 空のパスワードをなくす これでもいいと思うのだが、 いっちゃんセキュリティが高いのは ■PasswordAuthentication no ■ChallengeResponseAuthentication no PasswordAuthentication noのみをnoと設定しても ChallengeResponseAuthentication がyesだと パスワードでの認証ができてしまう。 ここが大事。 先日、外部とつなげられるサーバを構築したのだが、 ここの設定を変更しわすれてしまい、 認証鍵をはじいたら、 linuxのユーザのパスワードでアクセスできてしまうことが 起きてしまった。 しばらくsshの鍵の作成をしていなかったから 手順を忘れてしまったのだなと落ち込んだ。 ■PubkeyAuthentication yes AuthorizedkeysFile .ssh/authorized_keys ssh2の公開鍵認証方式を有効にする。 .ssh/authorized_keys(公開鍵)はデフォルトの設定 上記の⑥で公開鍵をneko_keysとした場合 AuthorizedkeysFileは AuthorizedkeysFile .ssh/neko_keys となります。 ⑫/etc/ssh/sshd_configの変更点まとめ Port 22222 Protocol 2 PermitRootLogin no PermitEmptyPasswords no PasswordAuthentication no ChallengeResponseAuthentication no PubkeyAuthentication yes とまぁこんな感じです。 各項目の説明は⑪をみてください。 そうそう今回はいれてないけどユーザの制限もできます。 ■ユーザの制限 AllowUsers/DenyUsersの設定でssh接続できるユーザを制限することができます。 AllowUsers tanaka itou tanakaとitouのユーザアカウントのみssh接続許可 DenyUsersは接続拒否 ⑬sshdデーモン(サービス)の再起動 # /etc/init.d/sshd restart sshd_configの内容を変更したら sshdを再起動します。 デーモンはWindowsでいうサービスと同義語とのこと ⑭puttyからログインしてみよう。 今回の設定だと ホスト名: 192.168.1.10(sshd_config設定したPCのIPアドレス) ポート: 22222 セッション一覧:ssh-test (適当に名前をつける) 認証 : private_key.ppk(⑩-8で作成したカギ) 認証は 接続→SSH→認証→認証のためのプライベートキーファイルを参照して設定します。 全部設定できたらセッションにて保存します。 そして開くを選択 するとlogin as: と表示されるので login as: user1 と入力してEnter 少し待つ。 Passphrase for key "imported-openssh-key";と表示されたら 公開鍵認証成功 あとひといき! Passphrase for key "imported-openssh-key"; 上記④で設定したパスワード入力 [user@host01]$ これでおk あーもう3時だ。orz 間違えていたら書き直します。寝る。 |
![]() |
| ホーム |
|