openssl コマンドについて解説します。
openssl コマンドを利用すると以下のように様々な処理ができます。
鍵の作成
証明書の作成
証明書の確認
コマンドラインからのメール送信
【SSL/TLS】SSL 証明書のプラットフォーム別の様々な導入方法
【レンタルサーバー初心者向け】 SSL技術を分かりやすく解説してみました
OpenSSL とは
OpenSSL は TLS(Transport Layer Security)および SSL(Secure Sockets Layer)プロトコル用のツールキットで暗号化ライブラリです。
OpenSSL 公式サイト
OpenSSL 公式サイト
https://www.openssl.org/
なぜ rpm コマンドの OpenSSL のバージョンと openssl コマンドのバージョンが異なるのか?
以下のように rpm コマンドでの確認と openssl コマンドでのバージョンが異なります。
rpm ← 1.1.1-8
yum ← 1.1.1 リリース8
openssl コマンド ← 1.1.1 FIPS 11
■OpenSSL のバージョン確認
[root@RedHat8SV ~]# rpm -qa | grep openssl ← すでにインストールされているか確認します。
openssl-pkcs11-0.4.8-2.el8.x86_64
openssl-1.1.1-8.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64
openssl-libs-1.1.1-8.el8.x86_64
[root@RedHat8SV ~]#
■OpenSSL のバージョン確認
[root@RedHat8SV ~]# yum info openssl
メタデータの期限切れの最終確認: 0:18:38 時間前の 2019年11月10日 13時04分01秒 に実施しました。
インストール済みパッケージ
名前 : openssl
エポック : 1
バージョン : 1.1.1
リリース : 8.el8
アーキテクチ : x86_64
サイズ : 1.1 M
ソース : openssl-1.1.1-8.el8.src.rpm
Repo : @System
repo から : anaconda
概要 : Utilities from the general purpose cryptography library with TLS implementation
URL : http://www.openssl.org/
ライセンス : OpenSSL
説明 : The OpenSSL toolkit provides support for secure communications between
: machines. OpenSSL includes a certificate management tool and shared
: libraries which provide various cryptographic algorithms and
: protocols.
利用可能なパッケージ
名前 : openssl
エポック : 1
バージョン : 1.1.1c
リリース : 2.el8
アーキテクチ : x86_64
サイズ : 686 k
ソース : openssl-1.1.1c-2.el8.src.rpm
Repo : rhel-8-baseos-rhui-rpms
概要 : Utilities from the general purpose cryptography library with TLS implementation
URL : http://www.openssl.org/
ライセンス : OpenSSL
説明 : The OpenSSL toolkit provides support for secure communications between
: machines. OpenSSL includes a certificate management tool and shared
: libraries which provide various cryptographic algorithms and
: protocols.
[root@RedHat8SV ~]#
■OpenSSL のバージョン確認
[root@RedHat8SV ~]# openssl version
OpenSSL 1.1.1 FIPS 11 Sep 2018
[root@RedHat8SV ~]#
理由は、rpm コマンドや yum コマンドが返すパッケージのバージョンは、ソフトウェアが返す(openssl コマンドが返す)バージョンと同じとは限らないからです。
また、FIPS の数字はバージョンとは関係ありません。
FIPS ← Federal Information Processing Standard の略
つまり、「openssl コマンドは FIPS のセキュリティ要件を満たして認証を受けた」 ということを表わしています。
最近の openssl コマンドのバグ修正や変更などを確認する場合
changelog オプションでバグ修正や変更点を確認することができます。
[root@RedHat8SV ~]# rpm -q -changelog openssl
* 金 12月 14 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-8
– make openssl ts default to using SHA256 digest
* 水 11月 14 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-7
– use /dev/urandom for seeding the RNG in FIPS POST
* 月 10月 15 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-6
– make SECLEVEL=3 work
* 火 10月 09 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-5
– fix defects found in Coverity scan
* 月 10月 01 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-4
– drop SSLv3 support
* 火 9月 25 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-3
– drop the TLS-1.3 version revert
* 月 9月 17 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-2
– disable RC4-MD5 ciphersuites completely
* 金 9月 14 2018 Toma? Mraz <tmraz@redhat.com> 1.1.1-1
– update to the final 1.1.1 version
– for consistent support of security policies we build
RC4 support in TLS (not default) and allow SHA1 in SECLEVEL 2
– use only /dev/urandom if getrandom() is not available
– disable SM4
秘密鍵作成と公開鍵作成
RSA の秘密鍵を「test.com_key.private」 というファイル名で 2048 bit で作成します。
※秘密鍵のファイルにはパスフレーズは付きません。
[ec2-user@redhat7 ~]$ openssl genrsa -out test.com_key.private 2048
Generating RSA private key, 2048 bit long modulus
…………………………….+++
……………………………..+++
e is 65537 (0x10001)
[ec2-user@redhat7 ~]$
秘密鍵の内容です。
[ec2-user@redhat7 ~]$ cat test.com_key.private
—–BEGIN RSA PRIVATE KEY—–
MIIEpQIBAAKCAQEAwT998aZrm0xiG+6QlhetRfXrCkKt0W6TKZyGcItZgEzMFr7m
Jl1xuCTalDSwQZzBsWnU8ig2yq/OoTkh/T6PZTeCKSInMOeBdujP4o0gvB4Paqto
ODccCG83/k4owKpxSvr8/U2bU77hNSOhPtQuCnShZE0DsnPb0ZWKhiPnnSpUjjAU
pAvNXD1F51m5COgzOOVav5rNZ4TTkQFoAC66/vrOTrY5hNinRDXe4K6dB4jR4wWC
4E65CkOWj9sWOe/lBAiR2idGi9uem5lsmP9gYGBRhxA9xPe2INjJgtuv9atEEuE0
2pcXhQTUOpa+/oV72HLoxi+GPNb9NhGJN4zyvwIDAQABAoIBAQDA98epoAbfwnxN
bAGQ/v+VVqVnT4IGGaZ17MkKZPvwc79wDxv+v1ypBpQFXj+KpR99KzLqxGFCMB/j
OgvIt8m0xqMAtAvyd5n9xSihD0/aySGX4KVnTRB/E6AUHrPu/8O1nb82qWIrU/XK
fFOtS27WHfRzFbxVW//q3qq+m+fSNQyWnDO1wPoMQdELn7rblcoVPHhrIQTBJmLZ
2mJ/qbliUesj/da4E5lFIyt273AwDdd/DiArngqCzXiXzgZkcVfx/Hawp3iW6sqZ
uPb82vte3PSyFaiMYwMxVAouXEAGN5XrywlDjip/IflAxqRJPO7leKFBe65w1foa
wSmkgwyRAoGBAP5jRdKV555hg1G8F5/3asea6lFjJEx/sSECSnpUJdu1H3SJxIh4
AXZGsLePKN9hvvtubJ2ANXRvbjPdxwiMiE4vkOPhvs5ruqjJiv1DFRiNrMA4FTTA
Rimozf3HgAv+FKuTTZNGc/4a0UR4IDU4LoKuhmuj1L/XuTQKiUWWj2bzAoGBAMJ5
BiX54A4pcT4q/TlMAkK58L/t5ngicBP6Py1ZXkublg7dh71veRcXRiuW/FgS/+jC
a9mcCRCG3hJ9WhMw9ijKu7JE3mItro5Lh3kRq0B0JoX1xeziUV2Se0WFrX+jyDaU
PkMs4cFektJaKli8dB+7rnujsVRAr/3qKv78HFAFAoGBAIa83gakD4H79CoejgTU
b2I501I4SMmb+J2bMQeJ+mNck8SOE+KUbXHQD1mqIePvSdCytCTX+3gobR5boUgN
50RCPWP19bIvrTYpSczK8ymGILHPAqxmCsOV/UUlndS8RwZ5huUys80rNxwk5CpM
D5Z4CgqJQ+44vIer7PlGvb2xAoGAL2FLBS+Wzfx80ZepsC77kgQ5SpmMgBJr2gIr
KEJQvfz/F0oTyyyAhQavmukjO9YNMUlE+3SPpM4nBrwxmOFh59hU2H7861CT6akv
LWkHnyFtTU/u0+LjzfdlPy/tcF6X5exCKx2hNvpyrPs4u/vWEvEn9omQJ6XG+wb1
SMBlqX0CgYEA3nCRdsqtkNSIV7SMMMbXIEjOMSzACE6UrWW78vyl7//cHknFKdAC
/oxIzsCvg4NvlvBOx1DfVJcATk8WiAmKH6qjauyltJqzF2uzb2kNCmY27FKIBMoo
xCGKeeOPZQp06PoambiQzzwpnjfTQx2xDyztEkKPCuiOaQWsF9WJvGU=
—–END RSA PRIVATE KEY—–
[ec2-user@redhat7 ~]$
■ビット数を少なくした場合
※openssl の使用でビット数が少なすぎると以下のようにエラーになります。
[root@ip-172-31-32-20 ~]# openssl genrsa -out test.com.private_key 256
Generating RSA private key, 256 bit long modulus (2 primes)
140320587507520:error:04081078:rsa routines:rsa_builtin_keygen:key size too small :crypto/rsa/rsa_gen.c:439:
[root@ip-172-31-32-20 ~]#
■1024bits の場合
[root@ip-172-31-32-20 ~]# openssl genrsa -out test.com.private_key 1024
Generating RSA private key, 1024 bit long modulus (2 primes)
..+++++
…………………………………+++++
e is 65537 (0x010001)
[root@ip-172-31-32-20 ~]#
■秘密鍵の中身確認
cat コマンドでも秘密鍵の内容を確認できますが、openssl コマンドでも -text オプションを付けて内容を確認できます。
[root@ip-172-31-32-20 ~]# openssl rsa -text < test.com.private_key
RSA Private-Key: (1024 bit, 2 primes)
modulus:
00:b5:3d:a4:a7:14:ad:a5:c6:71:03:bd:2d:61:c8:
00:61:ce:d3:3b:b4:41:bd:4b:5a:0b:cf:12:79:7e:
12:d3:f5:d9:c2:b6:81:aa:21:8a:42:78:aa:11:19:
7c:73:44:57:fb:e0:76:bb:f3:00:17:84:28:29:27:
a6:04:ec:59:7c:79:f4:45:ec:ba:a4:d4:85:5f:1a:
16:c9:82:6e:1e:ff:ef:82:1c:1c:24:dd:ad:03:3f:
16:73:5e:64:63:08:fa:a5:17:3a:9d:62:55:f7:d7:
9a:27:9c:91:ff:4b:c4:16:cb:cd:bd:86:d2:6d:f7:
e6:ad:4e:04:7f:ce:7e:33:05
publicExponent: 65537 (0x10001)
privateExponent:
2a:65:c0:35:c1:b5:99:79:21:88:f1:61:43:65:89:
09:58:5b:bb:b4:c0:48:2a:ef:66:a1:cb:3d:96:8b:
8b:00:11:2f:e6:87:d0:a7:c5:f3:24:cd:0b:f0:fd:
56:ed:9e:f3:72:1f:f4:79:b5:04:cb:4a:a5:cd:fb:
9d:5d:38:d5:6b:de:26:63:3f:86:8e:4e:63:6c:0a:
d8:00:e5:6e:f9:59:3a:44:53:b4:0a:d9:5d:f5:49:
b1:8f:d8:aa:fc:e1:80:86:4b:df:1f:64:c4:b5:22:
38:23:f2:9b:c1:9e:48:ef:08:1c:9e:55:24:86:56:
a1:48:8b:e3:58:01:96:05
prime1:
00:d8:ca:0d:cd:13:60:49:97:6f:85:17:1e:2a:9f:
ea:98:92:7f:db:80:72:74:bf:07:23:b1:6e:15:d0:
d4:d1:57:47:56:bc:28:3d:f9:3d:4f:ab:ce:4d:69:
54:a3:fa:2f:93:ea:51:53:dc:cd:93:5f:74:a1:92:
cd:d2:94:dc:e3
prime2:
00:d6:05:98:88:49:24:af:73:06:66:b9:3c:4d:e9:
b1:2d:22:23:2c:05:12:b2:fa:b2:01:95:c3:e2:65:
74:60:45:fb:af:d2:93:7a:6d:30:fd:56:57:33:d3:
fe:ba:1f:63:83:ae:42:ee:2f:01:00:1a:49:e7:38:
09:c8:ee:dc:f7
exponent1:
39:ea:f9:76:f1:97:46:f1:fb:6c:5e:39:c3:ff:87:
68:8d:b3:35:0c:83:07:a7:c5:9b:86:9a:b7:9f:5c:
4c:35:7a:2c:b5:06:37:50:70:4d:e9:c3:ab:30:d9:
d9:19:4d:3e:c2:5a:4a:02:72:b5:cd:c9:d6:24:e7:
72:3c:2d:2b
exponent2:
11:cb:6b:50:41:8c:9c:4d:db:05:65:77:5f:1f:04:
0d:35:9e:69:05:8e:f5:74:a4:a2:3f:1a:87:53:5a:
26:bb:0a:df:26:89:fe:8e:df:98:e0:b9:e5:64:45:
f4:a1:b1:7b:7c:5c:b2:43:14:39:36:f6:58:14:2f:
b4:16:30:27
coefficient:
30:4c:c2:fa:47:50:af:b1:53:97:7a:17:b4:08:e5:
15:77:f8:29:79:b9:f8:1c:89:dc:97:10:42:e2:ca:
40:d1:51:7d:16:48:1e:7d:23:df:c0:2d:22:d8:c0:
18:9b:90:02:e8:ab:97:98:25:05:2f:1c:49:49:fd:
68:4f:24:55
writing RSA key
—–BEGIN RSA PRIVATE KEY—–
MIICWwIBAAKBgQC1PaSnFK2lxnEDvS1hyABhztM7tEG9S1oLzxJ5fhLT9dnCtoGq
IYpCeKoRGXxzRFf74Ha78wAXhCgpJ6YE7Fl8efRF7Lqk1IVfGhbJgm4e/++CHBwk
3a0DPxZzXmRjCPqlFzqdYlX315onnJH/S8QWy829htJt9+atTgR/zn4zBQIDAQAB
AoGAKmXANcG1mXkhiPFhQ2WJCVhbu7TASCrvZqHLPZaLiwARL+aH0KfF8yTNC/D9
Vu2e83If9Hm1BMtKpc37nV041WveJmM/ho5OY2wK2ADlbvlZOkRTtArZXfVJsY/Y
qvzhgIZL3x9kxLUiOCPym8GeSO8IHJ5VJIZWoUiL41gBlgUCQQDYyg3NE2BJl2+F
Fx4qn+qYkn/bgHJ0vwcjsW4V0NTRV0dWvCg9+T1Pq85NaVSj+i+T6lFT3M2TX3Sh
ks3SlNzjAkEA1gWYiEkkr3MGZrk8TemxLSIjLAUSsvqyAZXD4mV0YEX7r9KTem0w
/VZXM9P+uh9jg65C7i8BABpJ5zgJyO7c9wJAOer5dvGXRvH7bF45w/+HaI2zNQyD
B6fFm4aat59cTDV6LLUGN1BwTenDqzDZ2RlNPsJaSgJytc3J1iTncjwtKwJAEctr
UEGMnE3bBWV3Xx8EDTWeaQWO9XSkoj8ah1NaJrsK3yaJ/o7fmOC55WRF9KGxe3xc
skMUOTb2WBQvtBYwJwJAMEzC+kdQr7FTl3oXtAjlFXf4KXm5+ByJ3JcQQuLKQNFR
fRZIHn0j38AtItjAGJuQAuirl5glBS8cSUn9aE8kVQ==
—–END RSA PRIVATE KEY—–
[root@ip-172-31-32-20 ~]#
更に、この秘密鍵「test.com_key.private」 から公開鍵を作成します。
openssl rsa -in ← 秘密鍵を読み込みます。
-pubout ← 公開鍵を作成します。
PEM ← PEM 形式の公開鍵を作成します。
[ec2-user@redhat7 ~]$ openssl rsa -in test.com_key.private -out test.com_key.public -pubout -outform PEM
writing RSA key
[ec2-user@redhat7 ~]$
公開鍵「test.com_key.public」 の内容です。
[ec2-user@redhat7 ~]$ cat test.com_key.public
—–BEGIN PUBLIC KEY—–
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqpwUs2UImfJVQ5GoBLht
6LF8fCtlhh0+jJI/rjRhBOP5Mp5r1xuSbaNqmlTckMMoDw+nUJ0x3ASzzWBBncrg
bL/9ITUj1T5lwfw8BioAVgUsp25ODSvsjD4Pg14SJY1QQKbctYNaBLoV+8zDGHEi
iEGVP/FRlbr8BSo33UEZ3k4tQxNjpqFZIrbKZeOcpj0QabUEuPS2OvanBDbfSJdw
J67XN20KL68LpnRzrM4F/3fjLly8IoHQywXOthMhp5MFN946YRox/Ulf7B/v3n1l
cD/19rfV6ah++p6wds0MOFTOqAPLocZLBJnq90s6mE3fN4MbH/Fs0Hs1bIUk8dSG
aQIDAQAB
—–END PUBLIC KEY—–
[ec2-user@redhat7 ~]$
ファイル形式について
SSL 証明書には、以下の数多くのファイル形式(ファイルフォーマット、拡張子)があります。
Windows や UNIX/Linux で利用するファイル形式が異なります。
そのため、Windows から Linux へ証明書を移動したり、Linux から Windows へファイルを移動する際にフォーマットの変換が必要になります。
pem(Privacy Enhanced Mail)とは
.pem ファイルは、Linux 系で利用されるファイル形式です。
.pem という拡張子から鍵ファイルなのか SSL 証明書なのかは分かりません。
バイナリファイルを Base64 でエンコード(テキスト化)しています。
Base64 コマンドでエンコード&デコードする
■単純に秘密鍵をcatコマンドで開く
[root@ip-172-31-32-20 ~]# cat test.private.key
—–BEGIN RSA PRIVATE KEY—–
MIIEogIBAAKCAQEA21O6/n/YdFtGmBaAqrklnLF43TM2qASfLDNPRgYhb2uZdB8p
0XTFoj9U8LkSO+Bl6+TY1Yn3qr+ZoW6oMAIforkEGdbMzATR4YIHNlrOYavIOM+j
W0FmclrtNO9IokCgUfH3ylEAzMLyzLLGmc7tzfVv7XQ7gW0ug2P+iQJhdFiZUi6m
qder8LRPiatYOp1p8sTO/gUtBThgzMBq+8JAP6q16Wl8SV8I5B9qWsQxeq38huVL
TswDL9o5zkb917wYMkx9CQIWu0dFnPJIgBNU0Cb63/WIEFzR9TEifHgXlRN7PibU
EPVq0xFlfnlBW4VlXFHm7MEkrBqayvMEurZpdwIDAQABAoIBAF6qaji097lpODQm
6kxF870JQPDAzSOCMy3By8KenMnZuHdNiCA29aLNER2B1CPx/CvwL8MjdLnHT0lF
WOS31e3HS8TXWLfqkKh0FibY1OGFYrtaq9iUhuJu6pmBemlF2azk8p3pjp3Suzet
Jll23l+aQ0BLfe+kL4JYo6GBXIz5b8Gyy706XFqzqaKmEs8i1PkwFR+HQRdAfAOb
+KoTeOFXRpy+ATFfO+sLGT481kJRCIt2LuAl4k63NtBH6IKbCKPYAwrucsd3nvNO
t5IpChb2NFdvnJmkgl1Rx190YfYvgRm4pz3zK4CchCLCNK6JxX8wPi1HD4fAemA/
2Rmd22ECgYEA/v6DAOCjrwW4IwFPmXxEiR4YrZ/KDeg07Fifgpka225okaBBP1xq
pSNV7ZhBxV8BPQpaq5GFqamMBsCHT9pSDG84W++8r+BMsAY55aYAK+efOmQsn3ZE
Sn7ubNMwRQy3qPAfvuO88NPE9FG/TseU0sDoZAivdgyoxZe6MFp8rHECgYEA3DEz
5t++9wjnjgbIIkib1HDlBDQCQ2P8+P3Md8ieu7fV0lP1GLQnA2TrXkj77KLaeGcP
HULbOoptdnROks7NJGpkD40UqRykiEI0VlrTM1WCQ8kZpOepxidMFpqO6omTg2B7
qEV67WNPnvc4F8Rc2QIUKmT1VsZ39WTL31KBiGcCgYA4TeyRWgjqkaG6IQT5iCX9
/OZIGDteXMKq2VrHVJVIlJWEalVd70MhGa9UmkUTlsnIN6wTrDtOXkCsEQEP0c5C
LqDMNCB+2VE1oPpRyhjJmQhgtVPhFhU4OdTdtLg41vkK1ZK87L6AktIvfIl4lLs4
2h22UPClaWAu2TTkjmZvEQKBgAky/QoeOuozMwlZ+y6Dfg8oEElWqumJ2d3FLK+s
cAVDruk0nL7FeAPKSZMM1YmTXDE/jQAZ9PLDKcOTJF05ypRE5Z1ItZ5DFhSjP3CE
JuK0JdcTJcEf9JXUuncPSf0+di088K2dCX+1cHQhu/QyPfbLAXCr+xv++rAD4Aia
d9LtAoGAFoq5Oz5RuLQFZKrf8DmOKKzE/MwBq1FolfaNsHVtwbrJRDqPfMaGlKvy
IE7P8bZkMRGCS6BXaqRx+7TcE/H34yn2WNgrkk/pJlQcVuqtPTunr6mPS2fslFgf
+mHtUt54IQ/MX4do40TUZH9Dg86OYWNcUus9gI1F0QImLELf+Ww=
—–END RSA PRIVATE KEY—–
[root@ip-172-31-32-20 ~]#
■ファイルの中身を確認する(秘密鍵がエンコードされた状態)
[root@ip-172-31-32-20 ~]# base64 test.private.key
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBMjFPNi9uL1lk
RnRHbUJhQXFya2xuTEY0M1RNMnFBU2ZMRE5QUmdZaGIydVpkQjhwCjBYVEZvajlVOExrU08rQmw2
K1RZMVluM3FyK1pvVzZvTUFJZm9ya0VHZGJNekFUUjRZSUhObHJPWWF2SU9NK2oKVzBGbWNscnRO
TzlJb2tDZ1VmSDN5bEVBek1MeXpMTEdtYzd0emZWdjdYUTdnVzB1ZzJQK2lRSmhkRmlaVWk2bQpx
ZGVyOExSUGlhdFlPcDFwOHNUTy9nVXRCVGhnek1CcSs4SkFQNnExNldsOFNWOEk1QjlxV3NReGVx
MzhodVZMClRzd0RMOW81emtiOTE3d1lNa3g5Q1FJV3UwZEZuUEpJZ0JOVTBDYjYzL1dJRUZ6UjlU
RWlmSGdYbFJON1BpYlUKRVBWcTB4RmxmbmxCVzRWbFhGSG03TUVrckJxYXl2TUV1clpwZHdJREFR
QUJBb0lCQUY2cWFqaTA5N2xwT0RRbQo2a3hGODcwSlFQREF6U09DTXkzQnk4S2VuTW5adUhkTmlD
QTI5YUxORVIyQjFDUHgvQ3Z3TDhNamRMbkhUMGxGCldPUzMxZTNIUzhUWFdMZnFrS2gwRmliWTFP
R0ZZcnRhcTlpVWh1SnU2cG1CZW1sRjJhems4cDNwanAzU3V6ZXQKSmxsMjNsK2FRMEJMZmUra0w0
SllvNkdCWEl6NWI4R3l5NzA2WEZxenFhS21FczhpMVBrd0ZSK0hRUmRBZkFPYgorS29UZU9GWFJw
eStBVEZmTytzTEdUNDgxa0pSQ0l0Mkx1QWw0azYzTnRCSDZJS2JDS1BZQXdydWNzZDNudk5PCnQ1
SXBDaGIyTkZkdm5KbWtnbDFSeDE5MFlmWXZnUm00cHozeks0Q2NoQ0xDTks2SnhYOHdQaTFIRDRm
QWVtQS8KMlJtZDIyRUNnWUVBL3Y2REFPQ2pyd1c0SXdGUG1YeEVpUjRZclovS0RlZzA3RmlmZ3Br
YTIyNW9rYUJCUDF4cQpwU05WN1poQnhWOEJQUXBhcTVHRnFhbU1Cc0NIVDlwU0RHODRXKys4citC
TXNBWTU1YVlBSytlZk9tUXNuM1pFClNuN3ViTk13UlF5M3FQQWZ2dU84OE5QRTlGRy9Uc2VVMHNE
b1pBaXZkZ3lveFplNk1GcDhySEVDZ1lFQTNERXoKNXQrKzl3am5qZ2JJSWtpYjFIRGxCRFFDUTJQ
OCtQM01kOGlldTdmVjBsUDFHTFFuQTJUclhrajc3S0xhZUdjUApIVUxiT29wdGRuUk9rczdOSkdw
a0Q0MFVxUnlraUVJMFZsclRNMVdDUThrWnBPZXB4aWRNRnBxTzZvbVRnMkI3CnFFVjY3V05QbnZj
NEY4UmMyUUlVS21UMVZzWjM5V1RMMzFLQmlHY0NnWUE0VGV5UldnanFrYUc2SVFUNWlDWDkKL09a
SUdEdGVYTUtxMlZySFZKVklsSldFYWxWZDcwTWhHYTlVbWtVVGxzbklONndUckR0T1hrQ3NFUUVQ
MGM1QwpMcURNTkNCKzJWRTFvUHBSeWhqSm1RaGd0VlBoRmhVNE9kVGR0TGc0MXZrSzFaSzg3TDZB
a3RJdmZJbDRsTHM0CjJoMjJVUENsYVdBdTJUVGtqbVp2RVFLQmdBa3kvUW9lT3Vvek13bForeTZE
Zmc4b0VFbFdxdW1KMmQzRkxLK3MKY0FWRHJ1azBuTDdGZUFQS1NaTU0xWW1UWERFL2pRQVo5UExE
S2NPVEpGMDV5cFJFNVoxSXRaNURGaFNqUDNDRQpKdUswSmRjVEpjRWY5SlhVdW5jUFNmMCtkaTA4
OEsyZENYKzFjSFFodS9ReVBmYkxBWENyK3h2KytyQUQ0QWlhCmQ5THRBb0dBRm9xNU96NVJ1TFFG
WktyZjhEbU9LS3pFL013QnExRm9sZmFOc0hWdHdickpSRHFQZk1hR2xLdnkKSUU3UDhiWmtNUkdD
UzZCWGFxUngrN1RjRS9IMzR5bjJXTmdya2svcEpsUWNWdXF0UFR1bnI2bVBTMmZzbEZnZgorbUh0
VXQ1NElRL01YNGRvNDBUVVpIOURnODZPWVdOY1V1czlnSTFGMFFJbUxFTGYrV3c9Ci0tLS0tRU5E
IFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
[root@ip-172-31-32-20 ~]#
■秘密鍵をエンコードしたものを再度デコード(人間が分かる状態)する
[root@ip-172-31-32-20 ~]# base64 test.private.key | base64 -d
—–BEGIN RSA PRIVATE KEY—–
MIIEogIBAAKCAQEA21O6/n/YdFtGmBaAqrklnLF43TM2qASfLDNPRgYhb2uZdB8p
0XTFoj9U8LkSO+Bl6+TY1Yn3qr+ZoW6oMAIforkEGdbMzATR4YIHNlrOYavIOM+j
W0FmclrtNO9IokCgUfH3ylEAzMLyzLLGmc7tzfVv7XQ7gW0ug2P+iQJhdFiZUi6m
qder8LRPiatYOp1p8sTO/gUtBThgzMBq+8JAP6q16Wl8SV8I5B9qWsQxeq38huVL
TswDL9o5zkb917wYMkx9CQIWu0dFnPJIgBNU0Cb63/WIEFzR9TEifHgXlRN7PibU
EPVq0xFlfnlBW4VlXFHm7MEkrBqayvMEurZpdwIDAQABAoIBAF6qaji097lpODQm
6kxF870JQPDAzSOCMy3By8KenMnZuHdNiCA29aLNER2B1CPx/CvwL8MjdLnHT0lF
WOS31e3HS8TXWLfqkKh0FibY1OGFYrtaq9iUhuJu6pmBemlF2azk8p3pjp3Suzet
Jll23l+aQ0BLfe+kL4JYo6GBXIz5b8Gyy706XFqzqaKmEs8i1PkwFR+HQRdAfAOb
+KoTeOFXRpy+ATFfO+sLGT481kJRCIt2LuAl4k63NtBH6IKbCKPYAwrucsd3nvNO
t5IpChb2NFdvnJmkgl1Rx190YfYvgRm4pz3zK4CchCLCNK6JxX8wPi1HD4fAemA/
2Rmd22ECgYEA/v6DAOCjrwW4IwFPmXxEiR4YrZ/KDeg07Fifgpka225okaBBP1xq
pSNV7ZhBxV8BPQpaq5GFqamMBsCHT9pSDG84W++8r+BMsAY55aYAK+efOmQsn3ZE
Sn7ubNMwRQy3qPAfvuO88NPE9FG/TseU0sDoZAivdgyoxZe6MFp8rHECgYEA3DEz
5t++9wjnjgbIIkib1HDlBDQCQ2P8+P3Md8ieu7fV0lP1GLQnA2TrXkj77KLaeGcP
HULbOoptdnROks7NJGpkD40UqRykiEI0VlrTM1WCQ8kZpOepxidMFpqO6omTg2B7
qEV67WNPnvc4F8Rc2QIUKmT1VsZ39WTL31KBiGcCgYA4TeyRWgjqkaG6IQT5iCX9
/OZIGDteXMKq2VrHVJVIlJWEalVd70MhGa9UmkUTlsnIN6wTrDtOXkCsEQEP0c5C
LqDMNCB+2VE1oPpRyhjJmQhgtVPhFhU4OdTdtLg41vkK1ZK87L6AktIvfIl4lLs4
2h22UPClaWAu2TTkjmZvEQKBgAky/QoeOuozMwlZ+y6Dfg8oEElWqumJ2d3FLK+s
cAVDruk0nL7FeAPKSZMM1YmTXDE/jQAZ9PLDKcOTJF05ypRE5Z1ItZ5DFhSjP3CE
JuK0JdcTJcEf9JXUuncPSf0+di088K2dCX+1cHQhu/QyPfbLAXCr+xv++rAD4Aia
d9LtAoGAFoq5Oz5RuLQFZKrf8DmOKKzE/MwBq1FolfaNsHVtwbrJRDqPfMaGlKvy
IE7P8bZkMRGCS6BXaqRx+7TcE/H34yn2WNgrkk/pJlQcVuqtPTunr6mPS2fslFgf
+mHtUt54IQ/MX4do40TUZH9Dg86OYWNcUus9gI1F0QImLELf+Ww=
—–END RSA PRIVATE KEY—–
[root@ip-172-31-32-20 ~]#
自己署名証明書(オレオレ証明書)の作成
openssl コマンドで /etc/vsftpd ディレクトリに一気に自己署名証明書(オレオレ証明書)を作成 する方法です。
[root@redhat7 ~]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
■オプションの解説
req ← CSR ファイルを作成します。
-x509 ← x509 という規格で証明書を発行します。x509 とは公開鍵基盤(PKI)の規格です。
-nodes ← nodes は「NO DES」で秘密鍵を暗号化しないオプションになります。通常、セキュリティを考慮すれば DES や DES3 や AES などで秘密鍵を暗号化します。(Apache 等の場合は、Apache を再起動するたびにパスフレーズを聞かれるので -nodes でパスフレーズをなしにします)
-newkey rsa:1024 ← 秘密鍵の作成を行います。暗号方式は RSA で鍵長は 1024 bit です。
-keyout /etc/vsftpd/vsftpd.pem ← 秘密鍵の出力先とファイル名を指定します。
-out /etc/vsftpd/vsftpd.pem ← 自己署名証明書(オレオレ証明書)の出力先とファイル名を指定します。
以下のようにファイルが作成されます。
[root@redhat7 vsftpd]# ls -l
total 48
-rw——-. 1 root root 125 Jun 21 2018 ftpusers
-rw——-. 1 root root 361 Jun 21 2018 user_list
-rw-r–r–. 1 root root 6359 Mar 16 04:09 vsftpd.conf
-rw——-. 1 root root 5116 Jun 21 2018 vsftpd.conf.org
-rw-r–r–. 1 root root 1954 Mar 16 02:07 vsftpd.pem
[root@redhat7 vsftpd]#
■vsftpd.pem ファイルの中身
vsftpd.pem ファイルの中身は以下のように「秘密鍵」 と「サーバ証明書」 が入っています。
[root@redhat7 vsftpd]# cat vsftpd.pem
—–BEGIN PRIVATE KEY—–
MxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxM
O8zJVLwFtZv6MKvcDj5xsPzhx1zyPA2yHjJT2ZYyco0ASbz2Gld80mv3rhFqhLt+
IVbnslL4go3cnp9oe/RBrwajnq++WNRolzzf+fCJuqmACMh+fxPSltzE5BoCYmx4
+ygFMvJhaoXTr+qT7KrOXVqP5Ea9AgMBAAECgYEArrPSC1fDohzKTWayhr/OV0nx
M5HFMmQwkFV2/dgltHJcWnwUqcpuEZxgoYEMs7UozA6MAH+QBMSdxTKfBrtyetAT
E7P4MmY8f7IppfpZ/afrlrTiZrNTP5azQGaS+9fjyuqg9bvOrK3s4DsloiDm0E4J
S+SNsZNWALfmanDdCWECQQDszvgGRXl0kNVLHUHG9GqWvCAGn/Akpp7m7L/hG/y8
ER1kr8jRTJQQbIIPeZDrGXd/TUx4wG/c598/1FFStfFZAkEA1ZNvyAuT2umCR8tm
3n557NDZU9a6VRcLUgiMYBBnDGHkCtbVanLF4AlwlLVuamPT8UxlwUCif2WkMany
zCkQBQJAfqXqTCBX5pmXGUcaaLdLUjZmwmRDYLakAUjZDiGTt1lH6ROCST21als9
69zOPo4uNK04mtQAf5qa8V4x6BRacQJAPaeFQmONOEnmkSE3vg0W13Vm95vqSHwR
iYnsNCMoDFwJ/9MK4uLlGoq/FD7X9CCDY4ohactl3Y8S+j9MVwGXnQJAOAgjxjni
Zbgow9jdQiE0LpfgNNaniI6BzQGvuwsmP9ozXdIpNcZqRbQqcOLgmz2MB0H6K+ft
rK5yTvN5ufaiRQ==
—–END PRIVATE KEY—–
—–BEGIN CERTIFICATE—–
MxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxD
VQQGEwJKUDEOMAwGA1UECAwFVE9LWU8xDjAMBgNVBAcMBVRPS1lPMREwDwYDVQQK
DAhUZXN0IEx0ZDELMAkGA1UECwwCSVQxEzARBgNVBAMMCmJveC1jbS5jb20xHDAa
BgkqhkiG9w0BCQEWDXRlc3RAdGVzdC5jb20wHhcNMTkwMzE2MDIwNzQwWhcNMTkw
NDE1MDIwNzQwWjCBgDELMAkGA1UEBhMCSlAxDjAMBgNVBAgMBVRPS1lPMQ4wDAYD
VQQHDAVUT0tZTzERMA8GA1UECgwIVGVzdCBMdGQxCzAJBgNVBAsMAklUMRMwEQYD
VQQDDApib3gtY20uY29tMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIGf
MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFkJacbVoZwVG+jDvMyVS8BbWb+jCr
3A4+cbD84cdc8jwNsh4yU9mWMnKNAEm89hpXfNJr964RaoS7fiFW57JS+IKN3J6f
aHv0Qa8Go56vvljUaJc83/nwibqpgAjIfn8T0pbcxOQaAmJsePsoBTLyYWqF06/q
k+yqzl1aj+RGvQIDAQABo1AwTjAdBgNVHQ4EFgQUrUvnko5psnuv41LUriNS9hji
hkwwHwYDVR0jBBgwFoAUrUvnko5psnuv41LUriNS9hjihkwwDAYDVR0TBAUwAwEB
/zANBgkqhkiG9w0BAQsFAAOBgQC8WSmuwGQSnoh7iv667N9QtsOZL4vck7QEGr7X
1a+sWD7LBKTjk7kc2kqWk/1bDiiWGfPRzGT86TXGdm2+ElPL0INUCZlO5+OOINuS
G98aWho+ucQRsO9qUFKsWdqsjlrqx+GvgV+Pygzb3x7uzSgwflXDRkcr98bYeA0T
dVMgvg==
—–END CERTIFICATE—–
[root@redhat7 vsftpd]#
コマンドラインから Gmail の SMTP サーバー(smtp.gmail.com)を経由してメールを送信する場合
telnet コマンド でも openssl コマンド でも動作確認をすることができます。
※実際にメールを送信する動作確認手順の場合は、openssl コマンドを使用する必要があります。
openssl s_client コマンドで確認する方法
openssl コマンド で動作確認する場合です。
■TCP/465番ポートへの接続の場合
[ec2-user@redhat7 ~]$ openssl s_client -connect smtp.gmail.com:465
CONNECTED(00000003) ← CONNECTED(00000003) になっていることを確認します。
depth=2 OU = GlobalSign Root CA – R2, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = US, O = Google Trust Services, CN = Google Internet Authority G3
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com
verify return:1
—
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
i:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
1 s:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
i:/OU=GlobalSign Root CA – R2/O=GlobalSign/CN=GlobalSign
—
Server certificate
—–BEGIN CERTIFICATE—–
MIIEijCCA3KgAwIBAgIQVbHi53YGiMfw201KdqA4bzANBgkqhkiG9w0BAQsFADBU
~ 省略 ~
e+CkrkjZUyUmzdNa6qk=
—–END CERTIFICATE—–
subject=/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
issuer=/C=US/O=Google Trust Services/CN=Google Internet Authority G3
—
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: ECDH, P-256, 256 bits
—
SSL handshake has read 2994 bytes and written 415 bytes
—
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: 1B6E1776701F3E7A401C8951C43E838F886D11B83CBBE4E0F6AC21895AA36A38
Session-ID-ctx:
Master-Key: 104B56D1B72636E4323DCCBD35625DD671E134D45594D21E22D3EF335E80B3AA6B943906854CA163944D650E526DAC49
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
TLS session ticket lifetime hint: 100800 (seconds)
TLS session ticket:
0000 – 00 37 0f f3 39 e3 41 ed-86 c6 d1 24 4e 74 c1 7d .7..9.A….$Nt.}
0010 – 72 89 7b 59 47 90 ab 8c-aa cf 10 3a d1 0c c8 fc r.{YG……:….
0020 – cb 10 04 ae 34 a7 7e 09-b6 2e 78 4e 38 cf 7e 26 ….4.~…xN8.~&
0030 – 74 6c 0b 9b 39 52 01 21-86 d7 1b f0 0b 81 0d d1 tl..9R.!……..
0040 – c7 4f 8a d0 1b 4e 82 ac-3c 40 b6 1b 03 95 e2 5e .O…N..<@…..^
0050 – fa 4e 71 b3 81 84 82 d8-5d 0b e8 a5 ee 16 59 47 .Nq…..]…..YG
0060 – 2a 41 cd 42 68 6f ff ab-e1 d6 91 f9 87 07 a0 26 *A.Bho………&
0070 – 14 ea cd 98 16 4e 43 6e-e0 bb 9a a6 95 49 f8 a7 …..NCn…..I..
0080 – 23 81 43 72 04 73 aa b6-d2 6e 53 b1 7c 04 f4 bb #.Cr.s…nS.|…
0090 – 72 43 4c 33 6d 51 a5 74-4e b0 c0 5f 30 2e 30 29 rCL3mQ.tN.._0.0)
00a0 – 4e 74 54 6f dc c2 b6 cf-fe ff 68 bd 4d 28 6a 0f NtTo……h.M(j.
00b0 – 2a fa f8 5c 3a d2 6b 44-0b 6f 15 44 21 59 04 b1 *..\:.kD.o.D!Y..
00c0 – 7f ea cf 5c 68 73 2f ad-34 56 8f 07 63 f6 89 fb …\hs/.4V..c…
00d0 – 21 24 be 5e 4f !$.^O
Start Time: 1557128151
Timeout : 300 (sec)
Verify return code: 0 (ok)
—
220 smtp.gmail.com ESMTP n18sm20389806pfi.48 – gsmtp
※CONNECTED(00000003) になっていることを確認します。
■TCP/587番ポートへの接続の場合
[ec2-user@redhat7 ~]$ openssl s_client -connect smtp.gmail.com:587
CONNECTED(00000003) ← CONNECTED(00000003) になっていることを確認します。
140227128567696:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:
—
no peer certificate available
—
No client certificate CA names sent
—
SSL handshake has read 7 bytes and written 289 bytes
—
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1557128266
Timeout : 300 (sec)
Verify return code: 0 (ok)
—
[ec2-user@redhat7 ~]$
※CONNECTED(00000003) になっていることを確認します。
telnet で Gmail の smtp サーバー(smtp.gmail.com)の TCP/587 にアクセスする場合
telnet コマンドは「STARTTLS」 をサポートしていないため、以下のように「FConnection closed by foreign host. 」 のメッセージが出力されます。
[ec2-user@redhat7 ~]$ telnet smtp.gmail.com 587 ← telnet コマンドで 587 に接続します。
Trying 74.125.23.109…
Connected to smtp.gmail.com.
Escape character is ‘^]’.
220 smtp.gmail.com ESMTP i27sm10305113pfk.162 – gsmtp
EHLO smtp.gmail.com
250-smtp.gmail.com at your service, [54.249.15.106]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
STARTTLS
220 2.0.0 Ready to start TLS
EHLO smtp.gmail.com
FConnection closed by foreign host.
[ec2-user@redhat7 ~]$
openssl コマンドで Gmail 経由(smtp.gmail.com 経由)でメールを送信する手順
実際にメールを送信する動作確認手順の場合は、telnet コマンドではなく openssl コマンドを使用する必要があります。
■最初にアカウントとパスワードをエンコードする
[ec2-user@redhat7 ~]$ perl -MMIME::Base64 -e ‘print encode_base64(“\000FromMailAccont\@gmail.com\000Password01234”)’
AGFjdGl2ZXZpc0BnbWFpbC5jb20AMTE5MnNhc2FnYXdh
[ec2-user@redhat7 ~]$
■openssl コマンドでメールを送信する手順
[ec2-user@redhat7 ~]$ openssl s_client -connect smtp.gmail.com:465 -crlf -ign_eof
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA – R2, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = US, O = Google Trust Services, CN = Google Internet Authority G3
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com
verify return:1
—
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
i:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
1 s:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
i:/OU=GlobalSign Root CA – R2/O=GlobalSign/CN=GlobalSign
—
Server certificate
—–BEGIN CERTIFICATE—–
MIIEijCCA3KgAwIBAgIQVbHi53YGiMfw201KdqA4bzANBgkqhkiG9w0BAQsFADBU
~ 省略 ~
e+CkrkjZUyUmzdNa6qk=
—–END CERTIFICATE—–
subject=/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
issuer=/C=US/O=Google Trust Services/CN=Google Internet Authority G3
—
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: ECDH, P-256, 256 bits
—
SSL handshake has read 2994 bytes and written 415 bytes
—
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: E05197CD860F5FB30E767F3F351DEFA66A55EC4AAE4D4A69B58D2937B7B31F2D
Session-ID-ctx:
Master-Key: BE97FC399B48D88723F1A17BC3BE4B1677252B4151038EDB9AA564F26493A9529EFFBEFAE0BE61EB946191B352AF75E1
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
TLS session ticket lifetime hint: 100800 (seconds)
TLS session ticket:
0000 – 00 37 0f f3 39 e3 41 ed-86 c6 d1 24 4e 74 c1 7d .7..9.A….$Nt.}
0010 – 44 75 99 3e a2 8a ec 6a-e6 bc 0d 84 50 aa ae a0 Du.>…j….P…
0020 – ae 56 f9 d7 c2 a8 ff fa-09 7e bd 51 4e 03 4d 7f .V…….~.QN.M.
0030 – e7 27 62 38 ae 17 ad c4-9e d5 16 ad e1 30 f8 ca .’b8………0..
0040 – 43 9f 70 7a c0 37 34 28-c4 2a ed 64 39 b7 4a 10 C.pz.74(.*.d9.J.
0050 – c7 6c 24 e7 28 4a e6 1e-49 42 75 43 6f 9c 69 f4 .l$.(J..IBuCo.i.
0060 – fd a1 07 ee b5 e3 32 6e-f9 00 4e f0 01 aa 42 ca ……2n..N…B.
0070 – 26 66 0f 36 94 94 ad d5-0a 57 e1 cc 88 66 f1 5d &f.6…..W…f.]
0080 – 14 a2 f4 32 62 2b 65 ef-0c 6c 92 8a 36 a1 5a 82 …2b+e..l..6.Z.
0090 – 84 27 e6 d7 9e 54 72 46-c3 8e 6b 1b 95 a6 88 a5 .’…TrF..k…..
00a0 – f3 5d fb f0 ff bf c9 96-67 8a fe a9 82 5f 11 e2 .]……g…._..
00b0 – 0d 1d 2e 50 9a cd 8e 93-b0 64 d3 b5 03 7f bb da …P…..d……
00c0 – 4b 25 dd ef 92 ab ef ba-59 7a e5 a5 37 20 f9 75 K%……Yz..7 .u
00d0 – 3b 7e 79 35 8f ;~y5.
Start Time: 1557129846
Timeout : 300 (sec)
Verify return code: 0 (ok)
—
220 smtp.gmail.com ESMTP 132sm13052793pfw.87 – gsmtp
EHLO localhost ← 入力します。
250-smtp.gmail.com at your service, [54.249.15.106]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
AUTH PLAIN AGFjdGl2ZXZpc0BnbWFpbC5jb20AMTE5MnNhc2FnYXdh ← 入力します。
235 2.7.0 Accepted
MAIL FROM: <FromMailAccount@gmail.com> ← 送信元メールアドレスを入力します。
250 2.1.0 OK 132sm13052793pfw.87 – gsmtp
rcpt to: <ToMailAccount@gmail.com> ← 送信先メールアドレスを入力します。
250 2.1.5 OK 132sm13052793pfw.87 – gsmtp
DATA ← 入力します。
354 Go ahead 132sm13052793pfw.87 – gsmtp
Subject: テスト ← メールの件名を入力します。
テスト ← 本文を入力します。
test ← 本文を入力します。
. ← メール本番が完了したらピリオド「.」を入力します。
250 2.0.0 OK 1557129949 132sm13052793pfw.87 – gsmtp
451 4.4.2 Timeout – closing connection. 132sm13052793pfw.87 – gsmtp
read:errno=0
[ec2-user@redhat7 ~]$
参考サイト
Gmail経由で簡単なSMTPコマンドを使用してメールを送信するには?
コメント