Windows WSLインストールしたらSSHでハマった。。
表題の件で、なぜか躓いてSSHが起動しなかった。
root@LAPTOP:/etc/ssh# service ssh start * Starting OpenBSD Secure Shell server sshd sshd: no hostkeys available -- exiting. [fail] root@LAPTOP:/etc/ssh#
下記が参考になった。
www.garron.me
SSHキーが用意されてなかったので下記コマンドで実施、今度はうまくいった。
root@LAPTOP:~# ssh-keygen -A ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 root@LAPTOP:~# root@LAPTOP:~# /etc/init.d/ssh start * Starting OpenBSD Secure Shell server sshd [ OK ] root@LAPTOP:~#
コマンドプロンプトでのhistoryコマンド
いっつも忘れるのでここに書き留めておく。
[ F7 ] keyで下記の様に表示される。
コマンドライン上に履歴を表示したい場合は下記のようにうつ
> doskey /history
すると、下記のように表示される。
ありがたや。
nginx 証明書設置エラーで起動しません。。。
久しぶりに証明書更新を利用しようとして、
CSRからごにゃごにゃ証明書作ってnxinx側へインストールしようとしたら
起動時にずっこけた。
~# systemctl status nginx.service Active: failed (Result: exit-code) since Fri 2020-08-14 05:46:13 UTC; 1min 5s ago Docs: man:nginx(8) Process: 22773 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS) Process: 21790 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 22892 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE) Main PID: 21792 (code=exited, status=0/SUCCESS) Aug 14 05:46:13 ip-172-31-xx-xxx systemd[1]: Starting A high performance web server and a reverse proxy server... Aug 14 05:46:13 ip-172-31-xx-xxx nginx[22892]: Enter PEM pass phrase: Aug 14 05:46:13 ip-172-31-xx-xxx nginx[22892]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/ssl/2020.ssl.globalsign.com.key") failed (SSL: error:2807106B:UI routines:UI_process:processing error :while reading strings error:0906406D:PEM routines:PEM_def_callback:problems getting password error:0906A068:PEM routines:PEM_do_header:bad password read error:140B0009:SSL routines:SSL_CTX_use_PrivateKe y_filAug 14 05:46:13 ip-172-31-xx-xxx nginx[22892]: nginx: configuration file /etc/nginx/nginx.conf test failed Aug 14 05:46:13 ip-172-31-xx-xxx systemd[1]: nginx.service: Control process exited, code=exited status=1 Aug 14 05:46:13 ip-172-31-xx-xxx systemd[1]: nginx.service: Failed with result 'exit-code'. Aug 14 05:46:13 ip-172-31-xx-xxx systemd[1]: Failed to start A high performance web server and a reverse proxy server.
これが参考になった。
qiita.com
バックアップを取って、パスフレーズを外すとうまくいった!!
# openssl rsa -in 2020.ssl.globalsign.com.key -out 2020.ssl.globalsign.com.key Enter pass phrase for 2020.ssl.globalsign.com.key: writing RSA key # systemctl restart nginx
WireSharkを利用して Let's packet capture
パケットキャプチャをしたくて、よく利用されているWireSharkを利用して
TLS/SSLのパケットの中身を確認するまでをやっていきたいです。
WireSharkのインストールは省きます。
OSはWindowsServer2019を利用します。
設定は
Edit -> Preference -> Protocols -> TLS -> RSA keys list を [edit]
IP address, Port, Protocol, KeyFile, Passowrdを入力して、
必要であれば、TLS debug fileのパスも入力し、OK。
これで改めてキャプチャを取ってみると、、、
うまく復号化してくれません。
ここでうまく復号ができなくなった原因を探りました。
下記が参考になりました。
blog.goediy.com
どうやら
ssl_decrypt_pre_master_secret: session uses Diffie-Hellman key exchange (cipher suite 0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) and cannot be decrypted using a RSA private key file. <|| が原因でRSA固定長の鍵だとうまく復号できないようです。 ブラウザのパケットキャプチャを取る場合は、 export SSLKEYLOGFILE=~/sslkey.log で上記の画面内の (Pre)-Master-Secret log filenameの箇所にパスをしてあげれば RSAの固定長関係なくキャプチャが取れました。
AWS Transfer Family を使ってみた。
案件でSFTP経由でS3にデータをストアすることになったので、
AWSのSFTPサーバのサービスを使ったみました。
これが参考になった。
「create server」 を選択
「SFTP」を選択
「Service managed」を選択
「public accessible」を選択
事前に作成したIAMロールを選択
最後にreviewで問題なければCreate
サーバができたら続いて、ユーザーの追加を行います。
「Add User」をクリック
各項目を埋めていく。
Home directoryはS3バケットとなる。
SFTP接続用のBashスクリプト(sftp.sh)作ってみた。
#! /bin/bash set -x if [ $# -ne 7 ]; then echo "expected 6 args..." exit 200 fi SSH_KEY_PAIR=$1 SFTP_USER=$2 SFTP_HOST=$3 ORIG_FILE=$4 PUT_DIR=$5 PUT_PATH=$6 PUT_FILE=$7 iconv -f cp932 -t utf8 $ORIG_FILE > $PUT_PATH echo "sftp -i $SSH_KEY_PAIR ${SFTP_USER}@${SFTP_HOST}" echo "ORIG_FILE: $ORIG_FILE" echo "PUT_DIR: $PUT_DIR" echo "PUT_FILE: $PUT_FILE" sftp -i $SSH_KEY_PAIR ${SFTP_USER}@${SFTP_HOST} << ! cd $PUT_DIR put $PUT_PATH ls $PUT_FILE bye ! rm $PUT_PATH exit 0
実行コマンドは下記
# bash sftp.sh $ssh_key_pair $sftp_user $sftp_host $file_path $sftp_put_dir $temp_file_path $temp_file_name
WorkSpaces ENI固定方法
VPNで接続する時にMacAddressを登録するのですが、これをAWSWorkSpaces(VDI)を
利用して設定してみます。
参考になったのがこれ
hacknote.jp
docs.aws.amazon.com
workspacesでローカルIPを確認したあと、
EC2のネットワークインタフェースでMacAddressを確認
ENIに関連付けられたMACアドレスは基本的に変わらない(固定)のようです。
※ただし、使っている間(再起動、停止など)はMACアドレスが変わることはないが、引き継がせることはできない。