質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

6868閲覧

Amazon ec2 に新規ユーザで ssh ログインできない

lin.ming

総合スコア50

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/11/16 21:41

編集2018/11/16 21:42

ec2-user アカウントではキーペアを使って ssh ログインできています。

やったこと。

ec2-user に ssh 接続して新しいユーザ(linming)を作成。

http://engmng.blog.fc2.com/blog-entry-1.html
を参考に、
0. EC2管理コンソールから、[キーペアの作成]を押下。
0. ダウンロードしたプライベートキーをPC(Windows 10)のc:\ユーザー\linming.sshにコピー。
0. puttygenを立ち上げ、[Load]を押下してダウンロードした(2のファイル).pemファイルを読み込む。
0. puttygenの画面上部に表示されているOpenSSH形式の内容をコピーして、テキストファイルに貼り付け。
0. TeraTerm(ec2-userでつながっているウインドウ)で、4のファイルをとりあえず/tmpに転送。
0. TeraTerm上で、mv /tmp/(4のファイル) /home/linming/.ssh/authorized_keys
0. chmod 700 /home/linming/.ssh
0. chmod 600 /home/linming/.ssh/authorized_keys
0. 新しいTeraTerm ウインドウを開いて、ユーザ名 : linming / パスワード : このサーバでの linming の linux パスワード / 秘密鍵 : 2のファイル

TeraTermのダイアログで「認証に失敗しました。再試行してください。」と表示されます。

また、https://qiita.com/nekonoprotocol/items/e1fc5c212bf6a7365f8f を参考に、Shell 上でキーペアを作成してそれを使っても認証エラーになります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

EC2インスタンスにec2-userでログインし、次のコマンドを実行して、
/home/linming 配下のファイル/ディレクトリのオーナーとパーミッションを再設定してみてください。
以下をそのままべた張りすれば実行できます。

sudo chown linming:linming /home/linming sudo chown linming:linming -R /home/linming/.ssh sudo chmod 700 /home/linming /home/linming/.ssh sudo chmod 600 /home/linming/.ssh/*

追記

恐らくは秘密鍵の変換で失敗しているものと考えられます。
Windows 10標準のSSHクライアントを利用されてみてはいかがでしょうか?

1.Winキーを押して「スタート」メニューを開いたら "オプション機能の管理" と入力して開く。そして "機能の追加" で "OpenSSH クライアント" をインストール。
2.次に、ssh-agentサービスを自動起動させます。サービスからどうぞ。

あとはLinuxのsshクライアントと同じようにどうぞ。

参考にしたページは以下です。
PuTTYを卒業してWindows 10標準のssh client(ベータ)に切り替えた

投稿2018/11/17 00:53

編集2018/11/17 09:30
moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lin.ming

2018/11/17 05:05

教えていただいたのをコピペして再度TeraTermでlinmingでログインを試みたのですが、TeraTermには 「認証に失敗しました。再試行してください。」 と表示されました。 /var/log/secureは、なにも表示されません。 [root@ip-xxx-xxx-xxx-xxx ~]# cd /home [root@ip-xxx-xxx-xxx-xxx home]# ls -al total 0 drwxr-xr-x 4 root root 38 Nov 15 21:46 . dr-xr-xr-x 18 root root 257 Nov 15 21:39 .. drwx------ 3 ec2-user ec2-user 95 Nov 16 00:30 ec2-user drwxr-xr-x 4 linming linming 156 Nov 17 11:05 linming [root@ip-xxx-xxx-xxx-xxx home]# cd linming [root@ip-xxx-xxx-xxx-xxx linming]# ls -al total 341292 drwxr-xr-x 4 linming linming 156 Nov 17 11:05 . drwxr-xr-x 4 root root 38 Nov 15 21:46 .. -rw------- 1 linming linming 1420 Nov 17 11:18 .bash_history -rw-r--r-- 1 linming linming 18 Jul 28 03:42 .bash_logout -rw-r--r-- 1 linming linming 193 Jul 28 03:42 .bash_profile -rw-r--r-- 1 linming linming 231 Jul 28 03:42 .bashrc drwx------ 2 linming linming 29 Nov 17 06:09 .ssh -rw------- 1 linming linming 1935 Nov 17 11:05 .viminfo drwxrwxr-x 25 linming linming 4096 Nov 16 20:12 www [root@ip-xxx-xxx-xxx-xxx linming]# cd .ssh [root@ip-xxx-xxx-xxx-xxx .ssh]# ls -al total 4 drwx------ 2 linming linming 29 Nov 17 06:09 . drwxr-xr-x 4 linming linming 156 Nov 17 11:05 .. -rw------- 1 linming linming 561 Nov 17 06:09 authorized_keys です。
lin.ming

2018/11/17 11:13

色々調べていただきありがとうございました。 結論から申し上げますと、まだ駄目です。 PowerShell から > ssh linming@example.net とタイプすると、 linming@example.net: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). と表示されます。 ですので、キーペアを作り直してみました。 Amazon EC2 のウェブサイトで、「キーペア」→「キーペアの作成」と進んで、秘密鍵がローカルPCに保存されるので、それを ~/.ssh に保存。 で、ここで基本的な間違い(?)に気づきました。 「Public Key はどこに保存されているのですか?」 よく分からなかったので、PowerShellで > ssh-keygen -f amazon-linming.pem amazon-linming.pem.pubができたので、 接続できている ec2-user の ssh のウインドウで、/home/linming/.ssh/authorized_keys を vi で開いて、上記のものをコピペしました。 その後、 > ssh linming@example.net とタイプすると、 linming@example.net: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). と表示されます。 /var/log/secure には何も記録されていません。 今まで使っていた、鍵を使わない VPS に対しては、 > ssh linming@old-example.net で接続できたので、OpenSSHクライアントが設定されていないとか、ssh-agent サービスが立ち上がっていないとかではないと思います。多分。 すみません、全然わからず。
lin.ming

2018/11/17 12:48

解決しました。(多分) 成功したやり方は、 ・Windows 10 の PowerShell を使ったこと。 ・ローカル(PowerShell)で ssh-keygen -f amazon-linming を実行したこと。 ・できた公開鍵を ec2-user でログインしているコンソールで /home/linming/.ssh/authorized_keys にコピーしたこと。 ・ローカルで config ファイルを書いて、PowerShell で ssh {設定名} したこと。 です。 ありがとうございました。
moonphase

2018/11/17 14:44

>> 「Public Key はどこに保存されているのですか?」 ご自身で行っている以下手順で .ssh/authorized_keys となります。 >TeraTerm上で、mv /tmp/(4のファイル) /home/linming/.ssh/authorized_keys この手順ですが、4つのファイルを順にmvすると最後の一つだけしか有効にならないような。 ここが失敗ポイントだったかもしれません。
lin.ming

2018/11/18 01:01

そうでしたか。 色々とお付き合いくださりありがとうございました。 おかげさまで解決できました。
guest

0

  1. /home/linming/.sshのディレクトリと配置されている公開鍵のオーナーが新しいユーザ(linming)である必要があるので、chownしてないならchownする

新しいTeraTerm ウインドウを開いて、ユーザ名 : linming / パスワード : このサーバでの linming の linux パスワード / 秘密鍵 : 2のファイル

認証時に入力するパスフレーズは秘密鍵のパスフレーズである必要があるので、鍵作成時に入力したものを使う(パスフレーズ無しで作成したなら入力しない)

をとりあえず試してみて、駄目なら/var/log/secureを確認してエラーメッセージを確認してみて下さい。

投稿2018/11/16 22:52

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lin.ming

2018/11/16 23:10

早々にご回答ありがとうございます。 1. 公開鍵のオーナーは linming です。 2. セキュリティ上問題があるのでごめんなさいなのですが、鍵作成時に入力したパスフレーズは UNIX アカウントのパスワードと同じものです。試しにTeraTermで接続時パスワードを空欄にしてみましたが、結果は認証に失敗でした。 /var/log/secure には Nov 16 22:58:09 ip-xxx-xxx-xxx-xxx sshd[16416]: Authentication refused: bad ownership or modes for directory /home/linming と出力されていました。 /home/linming のパーミッションは 775 です。/home/linming/www 配下をウェブページにしていた関係で。 /home/linming のパーミッションを 755 にしたのですが、変わらず接続エラーです。今度は /var/log/secure になにも書かれていませんでした。 これでなにかわかることはありますでしょうか?
tanat

2018/11/17 00:49

> 1. 公開鍵のオーナーは linming です。 .sshディレクトリのオーナーもlinmingになっていますか? /home/linming のパーミッションは755であれば問題無いはずです。 > /home/linming のパーミッションを 755 にしたのですが、変わらず接続エラーです。 接続エラー時にTeraTermではどのようなエラーメッセージが表示されていましたか? > 今度は /var/log/secure になにも書かれていませんでした。 /var/log/messages には何か出ていませんか? また、念のため sudo tail -f /var/log/secure としながらもう一度ログインを試行してみるとどうなるでしょうか?
lin.ming

2018/11/18 09:49

別の回答にコメントしましたが、無事解決できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問