投稿する
サーバ関連: 作成者:kiyo 記録日:2017年1月25日21:06
コマンド等、主に記録用

Let's Encrypt で無料SSL 認証

https://letsencrypt.jp/ に詳しい資料がある。

無料でSSL認証がつかえる。いい時代になったもんだ!!
このサーバにも適用してみた。

//サーバ ubuntu 16.04LTS + nginx + meteor
// Let's Encryptをインストール
$ sudo apt-get update
$ sudo apt-get install letsencrypt
// nginx を stop
$ sudo  service nginx stop
// 証明書を発行してもらう -d がドメイン -m メールアドレス
$ sudo letsencrypt certonly --standalone -d www.yosiki.org -m kiyo@yosiki.org --agree-tos -n

上記のドメイン発行後 サブドメインも追加する場合

(複数可 -d xxx.aaa.com -d yyy.abc.comのように 又は -d xxx.abc.com, yyy.abc.comのようにカンマでもよい) 
$ sudo letsencrypt certonly --expand -d www.yosiki.org  -d hoge.yosiki.org -d fuga.yosiki.org

--expand で追加してくれるようだ

// nginx の設定
$ sudo vi /etc/nginx/sites-enabled/yosiki.conf

server {
      listen 80;
      server_name localhost;
      return 301 https://www.yosiki.org$request_uri;
}



server {

      listen 443;
      server_name localhost;       

      ssl_certificate /etc/letsencrypt/live/www.yosiki.org/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/www.yosiki.org/privkey.pem;

      ssl on;

      access_log /var/log/nginx/access.log;
      error_log /var/log/nginx/error.log;

      location / {
            # meteor port 8200で起動
            proxy_pass http://localhost:8200;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header X-Forwarded-For $remote_addr;
      }
}

証明書の有効期限が90日なので更新が必要
更新する場合はnginx を止めなければならないので以下ののように --pre-hook --post-hookが用意されている。
更新30日前にならないと更新されないようですが30日前になっていないと何もしないので cronなどで更新しても問題なし。

$ sudo letsencrypt renew --pre-hook "service nginx stop" --post-hook "service nginx start"


サーバ関連: 作成者:kiyo 記録日:2016年12月26日21:19
コマンド等、主に記録用

rsync 多段コピー

自宅のサーバはvmware6.0up2でVineLinux,Ubuntu等使ってWEBサーバ、sshサーバ等起動しています。
また最近NAS( Synology DS215J)を買いました。
会社からデータを自宅へコピーしたい時がありますが、sshサーバはもちろん一台しかありません。
しかしせっかくNASがあるのでそこにコピーしたいですよね。
会社のデータ->自宅のsshサーバ ->NASにコピー
コピーを経由するPCにssh-keygenを使ってsshキーを作成します。

$ ssh-keygen -t rsa
エンターキーを2回
...
ユーザフォルダーに .ssh ができる 
$ ls  -la .ssh
   .
   ..
   id_rsa
   id_rsa.pub
会社の.ssh/id_rsa.pubを経由するPCへUSBメモリ等で持って来て各PCへコピー
各PCで以下のコマンドを実行
$ cat id_rsa.pub>>.ssh/authorized_keys
会社のデータがあるPCから
rsync -av -e 'ssh -o ProxyCommand="ssh ユーザ@sshサーバ -W %h:%p -q" '  /data(会社のデータ)  ユーザ@NASのIPアドレス:/volume1/homes/ユーザ 

実は会社にもSynology(DS215J)があってこのNASのタスクスケジューラにコマンドを書いてコピーする時間等設定したら同期できます。
Synologyは結構優れ物だと思います。


ps:
sshd_configも変更した方がよいので自宅のsshサーバに追加

$ sudo vim /etc/ssh/sshd_config





PermitRootLogiin no に変更 rootでのログイン禁止

PasswordAuthentication no に変更 パスワードでのログイン禁止