読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

#6.5 SSHの設定・SCPの使い方::VMWare×CentOS5 Windowsでカンタン開発環境

VMWare 開発環境


で、なんで今更?という話なんですが。telnetのインストール・設定の中で、

SSHでもいいのですが、私は普段Poderosaを使っていて、PoderosaSSHの鍵を使うにはPoderosaで鍵生成をしなきゃいけなかったりで面倒なので、telnetにしちゃいます。

#06 telnetのインストール・設定::VMWare×CentOS5 Windowsでカンタン開発環境 - 肉とご飯と甘いもの @ sotarok

とかホザいてしまったのですが、よくよく考えたら、「だったら鍵なしパスワードSSHでいいじゃん」と思ったので…。

SSHのインストール

は、たぶん最初からされているはずです。インストールされているかどうかは、下記コマンドで確認できます。

[sotaro@five ~]$ rpm -qa | grep ssh
openssh-4.3p2-16.el5
openssh-clients-4.3p2-16.el5
openssh-server-4.3p2-16.el5

SSHの設定

設定は、

  • Protocol 2だけ許可。
  • パスワードログイン許可
  • Rootログイン禁止

というポリシーでいきます。

まぁ目次でも言ってますが、あくまで仮想サーバでカンタンに開発環境をそろえることを目的としていますので、公開サーバではパスワードログインは許可せず、必ず鍵認証をすることをオススメします。というか、してください。 *1

ということで、前置きはさておき、

[root@five ~]# vi /etc/ssh/sshd_config 
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes

というカンジに編集して保存してください。

そしたら、sshdを起動し、自動起動をONにしておきます。

[root@five ~]# /etc/init.d/sshd start
[root@five ~]# chkconfig sshd on

なぜROOTログインを禁止にするか

これは意外と答えられない方が多いらしいです。そしてあまり書かれてはいないのですが、その理由はただひとつ、
どのユーザがROOTになり、作業をしたのか
を明確にするためです。会社だとこれが責任問題になりますし。。

ちなみに誰がいつROOTユーザになったのかというのは、/var/log/secure に記録されています。

って、それこそ仮想サーバ上で自分しか使わないんだからいいんじゃね?とか言うお話もありますが、ここは、サーバ運用のときのクセをつけるつもりでひとつ覚えておいてください(えらそうに…w)

(追記)この辺とかもご参考にどうぞ

ログインしてみる

ま、お好きな端末からssh2で、自分のログインユーザ名とパスワードを入力してログインできればOKです。以下Poderosaの場合。

Linuxから別のLinuxssh

一応ご紹介。

[sotaro@five ~]$ ssh sotaro@192.168.xx.xx

のように、「ユーザ名@ホスト」で。
最初だけ、このホストに接続するの初めてだけど?みたいにうにゃうにゃ聞かれますので、yesです。

リモートからファイルをコピーしてきたりする

scpという、ssh+cpコマンド てなことができます。

[sotaro@five ~]$ scp ./memo.txt sotaro@192.168.11.50:~/memo2.txt
sotaro@192.168.11.50's password: (パスワードを入力)
memo.txt                                                                                      100%   10     0.0KB/s   00:00  

といった具合です。
コマンド引数は、cpと同じように、

scp コピー元ファイル コピー先ファイル

となります。もちろん、

[sotaro@five ~]$ scp sotaro@192.168.11.50:~/memo2.txt ./memo3.txt

とすれば、むこうからこっちにファイルをもってこれたりします。

ユーザ名@ホスト:ファイル名(パス)

です。
ちなみに、WinSCPという便利なツールもあり、これを使えば、FTPクライアント・サーバを使わなくても、FTPを使うような感覚で、ローカルからサーバへファイルのアップロード・ダウンロードが可能ですので、こちらもオススメしておきますです。FTPは通常暗号化されませんので、コチラのほうが少し安全と言えるでしょう。

telnetどうする?

SSHがあるならもう用はありません。さようならしてください。

*1:たった1日サーバを外部に公開し、ルータのポート22をあけるだけでユーザ名やパスワードをランダムに変えた攻撃が大量にログにたまります。