弊社のクラウドエンジニアリングAWSとAzureのスクール ITComeTrueスクールのHPサイトが完成しました。クラウドニキとクラウドネキという新しいキャラクターも登場し、宮崎県のWEBデザイナー田中健朗さんが手掛ける力作となっておりますので是非、ご覧くださいませ。
そして、AWS / Azureの教育を今年こそと考える ITエンジニアリングの会社様、弊社まで是非お声掛けください。
https://itcometrueschool.com/
Stores決済で端末のペアリングが急に出来なくなってしまった件
先日、Stores決済端末をイベントで使用しようと思いまして、事前に
iPhone2台と iPad 1台、があったのでいづれのスマホにもStores決済のアプリをインストールして、ペアリングテストしたんですよね。
直後に事象は発生しました。
ペアリングをつないだ後に、直ぐに切れてしまうという事象が発生。
2台からアプリを消して、1台のみのアプリから接続しても事象は解決せず。
Stores決済端末の工場出荷状態へ戻すボタン長押しして、工場出荷状態に戻しても事象変わらず。
詰みました。。。。
後日、改めてStores決済に問い合わせたところ、、、
原因は複数端末のBluetooth 混在による、混線が原因という事が判明。
iPhone2台のBluetooth の登録設定を解除して、解放。
残りの iPad 1台からもBluetooth の登録設定を解除して、解放したうえで、改めて、Stores決済端末にペアリングしてみると。
無事、ペアリングが行われました。。。
Bluetooth の接続側の設定だったかぁ。。。
1台 1端末 という点を今後は気を付けつつ使用していきたいと思います。
【初心者向け】EC2 AWS AMI 踏み台サーバからプライベートサーバへのssh接続 / (EC2 Instance Connect )エラーの原因を解説
AWS AMI EC2 において、踏み台サーバよりプライベートサーバにSSHキーファイルを使用してログインを試みた時にエラーが多発してソリューションも見つかったので、備忘録としてよくある間違いを列挙
環境
AMI
EC2 踏み台サーバ (Public IPを持っている) インターネットよりEC2 Instance Connect にてログイン
達成したいこと
EC2 踏み台サーバより Private サブネット内のEC2インスタンスにログインしたい。
条件
インスタンス作成時にキーファイルはローカルのPCにダウンロードしてあること(これは他の人からコピーしてもらってもよい)
ソリューション
ダウンロードした pemファイルの中身をコピー
/home/ec2-user/.ssh/ フォルダに 適当なファイル名.pem の名前でファイルを作成 → vim 適当なファイル名.pem で編集
vim 適当なファイル名.pem
i を入力 ( Insertモード )
中身にpemファイルの中身をペースト
ESC(エスケープ入力)で Insertモード終了
:wq を入力して内容を保存
※chmod 400 保存した適当なファイル名.pem で権限を変更 ( 700 と、600 でもOKだった、777→×、770→× 双方共に権限緩すぎ )
SSH接続でプライベートサーバへログイン
ssh ec2-user@10.0.2.85 -i /home/ec2-user/.ssh/適当なファイル名.pem
Last login: Tue May 24 15:55:07 2022 from 10.0.5.23
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
[ec2-user@ip-10-0-2-85 ~]$
[ec2-user@ip-10-0-2-85 ~]$
ログイン成功
間違いの例をエラーメッセージと共に記載
ssh: connect to host xxx.xxx.xxx.xxx port 22: Operation timed outec2-user@xxx.xxx.xxx.xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).etc…
- エラーの原因
- エラー解決方法の一例
クライアントPC(接続元) | EC2 Instance Connect |
EC2インスタンス(接続先) | Amazon Linux 2 |
エラーメッセージ | この記事での呼び方 | 確認箇所 |
[ユーザ@ip]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). | PermissionDeniedエラー | sshコマンド |
Warning: Identity file [秘密鍵] not accessible: No such file or directory. | NoSuchFileエラー | 秘密鍵のパス |
Load key “[秘密鍵]”: bad permissions | BadPermissionエラー | 秘密鍵の権限 |
エラー解決の前にsshの通信を知る
エラーの原因を理解するためにはやろうとしていることがどのような動作で行われるのかをある程度知っておく必要があります。
そのために、sshの通信について軽く触れておきます。
sshの通信は簡略化して書くと以下の3ステップのイメージです。
- 接続先の22番ポートにアクセス
- 接続先で認証を行う (EC2の場合秘密鍵認証)
- ssh接続を確立
PermissionDeniedエラーの原因
PermissionDeniedエラーの原因は1つではなく、様々な要因によって結果的にこのエラーが出力されています。
単体で出ている場合と、他のエラーと一緒に出力されている場合で確認するポイントを切り分けることができますので状況別にご紹介します。
原因は様々と申し上げましたが、このエラー自体が示すものは、「ssh接続の認証のステップで接続先から明示的に拒否されている」と言うことです。
拒否されている理由は実は全て同じで、秘密鍵を持たずに接続先にアクセスしているからです。
残り3つのエラーは「なぜ秘密鍵を持って行けていないのか?」といった観点になります。
PermissionDeniedエラー単体の場合
この場合、秘密鍵の中身をまずは確認してみてください。
私はここで、コピペミスを繰り返しました。
そうなんです。Vim の編集って、意外とミスりやすいんです。
1.Ctrl + V を押下した時に正しく貼り付けられず起こる文字化け
[[C みたいな文字が入力されています。
2.スペースや、余計な文字列が入っている。
右クリックを押して、ペースト範囲を正しくチェックする。
正しく貼り付けられたら、ESC → :wq でファイルの保存
cat /home/ec2-user/.ssh/適当なファイル名.pem
でファイルの中身を確認
PermissionDeniedエラーのsshのコマンド
PermissionDeniedエラーが単体で出ている時は、コマンドが誤っている可能性があります。
$ ssh ec2-user@xxx.xxx.xxx.xxx # (誤)秘密鍵の指定を意味する
-iオプションが抜けている$ ssh ec2-user@xxx.xxx.xxx.xxx [秘密鍵] # 正しいコマンドの一例$ ssh ec2-user@xxx.xxx.xxx.xxx -i [秘密鍵]
BadPermissionエラーが一緒に出ている場合
BadPermissionエラーは秘密鍵の権限が適切でないことが原因で発生するエラーです。
BadPermissionエラーで見直すべきは秘密鍵の権限
秘密鍵は、重要な秘匿情報ですので誰でも触れる権限の秘密鍵を使うことはできません。
EC2インスタンスを作成した時AWSから新規の秘密鍵をダウンロードした段階では権限は適切なものではありません。
chmodコマンドでファイルの権限を400 or 600 or 700に変える必要があります。$ chmod 600 [秘密鍵]