UbuntuにWindowsからSSH接続(公開鍵認証)の事後メモ
UbuntuにWindows7からSSH接続できるようにしようとしたら、CentOSの時とコマンドが微妙に違ったりで、結構苦労した。
今回も公開鍵認証方式を採用し、クライアント側は秘密鍵を持って接続しに行く。
環境設定
SSHサーバのインストール
sudo apt-get install ssh openssh-server
SSHサーバの設定
sudo emacs /etc/ssh/sshd_config
変更内容:
- Port を 22 から変更(※セキュリティの観点から。他と被らないように注意)
- PermitRootLogin no (※rootで不正ログインされたらオシマイのため)
- PasswordAuthentication no (※公開鍵認証と比較して安全性が低いため)
- AllowUsers ユーザ1 ユーザ2 ...(※セキュリティの観点から)
接続ホストの受け入れ設定
sudo emacs /etc/hosts.allow
記述内容:
sshd : ホスト名1 ホスト名2 : allow sshd : ALL : deny
ポートを開く
sudo ufw enable sudo ufw allow <port>/<tcp|udp>
接続ホストの公開鍵を格納する
mkdir ~/.ssh chmod 700 ~/.ssh mv authorized_keys ~/.ssh chmod 600 ~/.ssh/authorized_keys
SSHサーバの起動
sudo /etc/init.d/ssh start
各種確認方法
ポート状態確認
sudo ufw status
ネットワークインタフェース状態確認
netstat -tulpn
おまけ
接続できた人とできなかった人のログを残す方法。
1. ログ用のフォルダ作成
sudo mkdir -p /var/local/log/hosts_access
2. 時刻と接続元を出力するコマンドの作成
cd /usr/local/bin sudo emacs date.a sudo chmod +x date.a
date.aの中身:
#!/bin/sh LANG=c date '+%Y-%m-%d %H:%M:%S'
3. /etc/hosts.allow ファイルに spawn コマンドを埋め込む
sshd : ホスト名1 ホスト名2 : spawn echo '/usr/local/bin/date.a' from %a >> /var/local/log/hosts_access/sshd_accept.log : allow sshd : ALL : spawn echo '/usr/local/bin/date.a' from %a >> /var/local/log/hosts_access/sshd_reject.log : deny
参考文献
- 作者: 田鍬享
- 出版社/メーカー: 秀和システム
- 発売日: 2009/06/24
- メディア: 単行本
- 購入: 1人 クリック: 110回
- この商品を含むブログ (9件) を見る
【改訂新版】 Linuxコマンド ポケットリファレンス (Pocket Reference)
- 作者: 沓名亮典,平山智恵
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 99回
- この商品を含むブログ (16件) を見る