投稿

ラベル(openssl)が付いた投稿を表示しています

Dockerファイルを使ってUbuntuイメージを作成し、SSHログインする

DockerでUbuntuを起動し、SSHログインする Docker上のUbuntuにSSHログインするためには、Dockerファイルで指示する必要があるようだ。 一番簡単なのは、DockerhubのUbuntuイメージのDockerFileをそのまま流用することだ。 rastasheep/ubuntu-sshd をそのままコピーして少し足して使ってみる。 .\Dockerfile_ubuntu_18_04.txt rootのパスワードを"root"で設定していますね。 FROM ubuntu:12.04 MAINTAINER Aleksandar Diklic "https://github.com/rastasheep" RUN apt-get update RUN apt-get install -y openssh-server RUN mkdir /var/run/sshd RUN echo 'root:root' |chpasswd RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config RUN mkdir /root/.ssh RUN apt-get install -y sudo RUN apt-get install -y nginx RUN apt-get install -y vim RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* EXPOSE 22 EXPOSE 80 EXPOSE 433 CMD ["/usr/sbin/sshd", "-D"] イメージ作成開始 Dockerファイル: Dockerfile_ubuntu_18_04.txt Repository名: ssh_server で作成する。 $ doc...

nginxでhttpsリバースプロキシを構築し.Net Coreアプリを動かす

■ 前提条件 $dotnet run で http://localhost:5000にアクセスするとdotnetアプリが動作すること。 前回のブログ nginxでリバースプロキシさせてDotnet Coreを動かす で一通りリバースプロキシが構築できていること。 ■ nginxの設定 ngingxのconfigファイルを以下の通り作成する。 httpsでアクセスが来たら、localhost:5000にリバースプロキシする。 ./nginx.conf $ cat nginx.conf user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { include /etc/nginx/proxy_params; ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65;  server_names_hash_bucket_size 128; types_hash_max_size 2048; server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /etc/nginx/logs/access.log; error_log /etc/nginx/logs/error.log; upstream helloapp{ server 127.0.0.1:5000; } server { listen 80; server_name localhost; index index.html; root /var/www/...

自己証明書作成

淡々と自己証明書を作成していく。 ディレクトリ作成。 $ mkdir -p /opt/pki $ mkdir -p /opt/pki/configs $ mkdir -p /opt/pki/crl $ mkdir -p /opt/pki/RootCA/newcerts $ mkdir -p /opt/pki/InterCA $ mkdir -p /opt/pki/Server $ mkdir -p /opt/pki/Client CSR( Certificate Signing Request )への署名時に必要なconfigファイルを作成しておく。 /opt/pki/configs/openssl_sign.cnf [ ca ] default_ca = CA_default [ CA_default ] dir = ./ certs = $dir/certs crl_dir = $dir/crl database = $dir/index.txt new_certs_dir = $dir/newcerts serial = $dir/serial crlnumber = $dir/crlnumber crl = $dir/crl.pem RANDFILE = $dir/.rand name_opt = ca_default cert_opt = ca_default default_days = 365 default_crl_days= 30 default_bits = 2048 default_md = sha256 preserve = no policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName ...

Ubuntu20.04LTS上でEC2 APIを使うまで

イメージ
ec2-api-tools を利用することになったのでメモっておく。 まずは、キーペアの作成を行う。 キーペアを作成することで、端末からapiを使ってec2にアクセスするために必要となる プライベートキー(private-key.pem)とシークレットキー(certificate.pem)を入手、生成することができる。 AIMのユーザー画面の認証情報タブで「アクセスキーの作成」ボタンを押下し、アクセスキーをダウンロードする。(private-key.pem) そのprivate-keyをもとにopensslコマンドを使ってCertificate keyを作成する。 $ openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Osaka Locality Name (eg, city) []:Osaka Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private Organizational Unit Name (eg, section) []:Private Common Name ...