sshSSHを使うことにより、暗号化通信、サーバ認証、通信パケットの完全性の保障がされます。teratermを使いたいところですが、ssh2に対応させたい場合は、puttyを使います。もしくはhttp://sleep.mat-yan.jp/~yutaka/windows/index.htmlを使いましょう。今はこれを使ってます。これを知らなかった為にわざわざSSH1でやってたんですが、その必要はありません。SSH2でいきましょう。 インストールftp://ftp.kddlabs.co.jp/OpenBSD/OpenSSH/portable/からOpenSSHをダウンロードします。openssh-3.9p1.tar.gzをダウンロードしました。これを入れる前にOpenSSL,zlib,Tcp Wrappersを入れておきます。 http://www.openssl.org/source/からOpenSSLをダウンロードします。 wget http://www.openssl.org/source/openssl-0.9.7g.tar.gz tar xzvf openssl-0.9.7g.tar.gz cd openssl-0.9.7g ./config --prefix=/usr/local make make install ではzlibはPHPの時にいれたので、Tcp Wrappersをインストールします。サービスのアクセスログを採る事ができます。 http://ftp.porcupine.org/pub/security/index.htmlからダウンロードしました。 wget http://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz cd tcp_wrappers_7.6 ではMakefileを編集します。 REAL_DAEMON_DIR = /usr/sbin <-/etc/inetd.confを開いてtelnetのserver_pathのディレクトリ FACILITY = LOG_DAEMON <-LOG_MAILから変更 DOT= -DAPPEND_DOT <-コメントを取る。Reduce DNS load DNS負荷軽減 AUTH = -DALWAYS_RFC931 <-コメントを取る。Always attempt remote username lookups ACCESS = -DHOSTS_ACCESS <- Turning off access control では編集後、 make linux エラーが... percent_m.c:17: conflicting types for `sys_errlist' ではMakefileの148行目の NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER" all を NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER -DSYS_ERRLIST_DEFINED" all に修正して、再度make linux。ではインストール cp tcpd tcpdchk tcpdmatch safe_finger try-from /usr/sbin/ cp *.3 /usr/share/man/man3 cp *.5 /usr/share/man/man5 cp *.8 /usr/share/man/man8 cp tcpd.h /usr/include/ cp libwrap.a /usr/lib/ cd /usr/sbin chown root tcpd tcpdchk tcpdmatch safe_finger try-from chgrp root tcpd tcpdchk tcpdmatch safe_finger try-from chmod 700 tcpd chmod 711 tcpdchk tcpdmatch safe_finger try-from ではOpenSSHのインストール tar xzvf openssh-3.9p1.tar.gz cd openssh-3.9p1 README.privsepより mkdir /var/empty chown root:sys /var/empty chmod 755 /var/empty groupadd sshd useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd これをしておかないと インストール時にPrivilege separation user sshd does not exisとエラーがでます。 ./configure --with-pam --with-tcp-wrappers --with-ipv4-default うっ..またエラーが... PAM headers not found どうもpam-develがないからだそうです。ではrpmかapt-get,dselect(libpam0g-dev)でインストールしておきます。なぜかapt-getでインストールできなったので、dselectでインストールしました。 make make install 環境設定OpenSSHがインストールされていたので、/etc/ssh/sshd_configを編集します。/usr/local/etcにある場合もあります。ssh_configというファイルがあるときもあるので、間違えないように。
SSH1SSH1は公開鍵暗号にRSAを使用しています。ユーザ用のキーを作る場合はそのユーザになって ssh-keygen -t rsa1 とすると、その指定された中に(デフォルトは /home/user名/.ssh/)に identityとidentity.pubの2つができています。このうちidentity.pubが公開鍵でidentityが秘密鍵になります。 cat identity.pub >> authorized_keys rm identity.pub chmod 600 authorized_keys としておきます。これで公開鍵ができあがりです。ここでできたidentityをログイン時に使用してください。 SSH2SSH2は公開鍵暗号にDSAを使用しています。そのユーザになって ssh-keygen -b 1024 -t dsa すると Enter file in which to save the key (/home/hoge/.ssh/id_dsa): <-リターン Enter passphrase (empty for no passphrase): <-パスワード Enter same passphrase again: <-もう一度パスワード Your identification has been saved in /home/hoge/.ssh/id_dsa. Your public key has been saved in /home/hoge/.ssh/id_dsa.pub. と表示されます。 cd .ssh としますと、id_dsaとid_dsa.pubの2つのファイルができています。 cat id_dsa.pub >> authorized_keys rm id_dsa.pub chmod 600 authorized_keys ここでできたid_dsaをログイン時に使用してください。 TIPSAuthentication refused: bad ownership or modes for directory /home/hogehoge/home/hogehogeのアクセス権を確認しましょう。700とか755にしてみてください。 接続の確認/var/log/secure リンクhttp://www.net-newbie.com/putty.html 参考書籍 |