前提
Linuxや、サーバ設定に詳しくありません。
専門用語などを避けていただけると幸いです。
質問概要
鍵認証のみで、遠隔ログインできるCentOS7のマシンに、
ユーザアカウントを追加して、公開鍵・秘密鍵の作成まで行いたい。
質問詳細
セキュリティの為、鍵認証のみリモートログイン可能なCentOS7のサーバに、
管理者権限を持つアカウントでリモートログインし、標準ユーザアカウントを作成して、そのアカウントに対する鍵を作成したいと考えています。
例えば、
$ useradd -m -d /home/test test
とすると、コマンド通りに「test」というアカウントが標準ユーザ(一般?)権限で作成されます。
しかし、パスワードを設定しようとすると、これは一度、今作ったtestアカウントにログインして、
$ passwd <新しいパスワード>
コマンドを叩かないと行けないと思います。
実際、ユーザアカウントを作った後、そのまま$ passwd
コマンドを叩くと「パスワードの変更」のような項目が出てきたため、慌ててCtrl+C
をしました。
しかし、鍵認証でしかログイン出来ないため、普通に
$ ssh test@hogehoge
としてもログインできませんし、パスワードが設定されていないので、
$ su - test
としてもアカウントの切り替えができません。
これはどのようにすればよいのでしょうか?
詳しい方がいらっしゃいましたら、ご教示の程よろしくお願い致します。
参考にしたサイト様
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
・他のユーザーのパスワードを設定する(rootから)
passwd ユーザー名
で他人のパスワードを設定できます。
・公開鍵の設定
/home/ユーザー名/.ssh/authorized_keys
に必要な公開鍵を書き足すだけです。
投稿2016/05/09 08:44
総合スコア145183
0
標準ユーザアカウントを作成する際にログインパスワードを設定する方法は、maisumakunさんのご回答の通りです。
そして「鍵認証のみリモートログイン可能」ということであれば、unauさんのご回答の通り、パスワードの生成は必須ではありません。sudo
の権限を付与したいならパスワードの生成が必要になります。
ブルートフォースアタックに合うのではないでしょうか?
という点についてですが、これはサーバ側の設定がどうであれ、アタックする側がアタックを試みるかどうかなので、パスワードを設定してもしなくてもアタックされるかもしれません。
しかし、そもそもパスワード認証を許可していないのであれば、パスワードの設定の有無でセキュリティレベルが変わることはないと思います。
学生のPCのApacheがセットアップできなかった時に、代理で使う
とのことですが、この意味がよく分かりません。「誰が」「誰の代理として」「何を」「どこから」使うのでしょうか?
言い換えると、新規作成したアカウント用に生成した「SSH鍵ペア」は誰がどこからどこへアクセスするために使用されるものですか?
いま、対象のCentOS7サーバをX
とします。
そしてそこに新規作成したアカウントをA
とします。
そうすると、サーバX
上でユーザA
用に作成したSSH鍵ペアの秘密鍵
は、ユーザA
のホームディレクトリに存在する事になります。
ですから、サーバX
にユーザA
としてログインしている使用者が、他のサーバへ独自の鍵でSSH接続したいケースでしか使用しません。つまり unauさんが仰るとおり、サーバX
を他のサーバへSSH接続するための「踏み台」に使用するということです。
それが今回の要件なのでしょうか?
実際に何を実現したいのか、によって、ユーザA
のための鍵ペアを新規作成する必要性はないかもしれませんし、あるいは、鍵の生成が必要な場合、生成するだけでは不十分で「秘密鍵」を安全に移動する手立てが必要になるかも知れません。
要するに、秘密鍵を安全に移動するには手間が掛るので、鍵ペアの生成はアクセスの起点となる側のローカル環境で生成するのが普通です。
ですから、サーバX
上からユーザA
として他のサーバへSSH接続したいのでない限り、サーバX
上でユーザA
用に鍵ペアを作成する必要はありません。
投稿2016/05/09 22:42
総合スコア5936
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/10 07:11
0
ベストアンサー
ssh サーバの運用方針として、「ssh 経由でしかログインできないユーザ」を作ることもありえます。その場合、パスワードを入力するケースがないので、パスワードを設定する必要がありません(私はよく、そういうユーザについては /etc/shadow においてパスワードの部分を *
にしていました)。
sudo
を実行したいユーザ、すなわち root 権限の必要なコマンドを実行する可能性のあるユーザに関してはパスワードを設定する必要があるので、maisumakun さんの回答にあるように root 権限のあるユーザから当該アカウントのパスワードを設定します。
ところで、ssh サーバに一般ユーザを作るとして、なぜそこで公開鍵認証の鍵ペアを作るのでしょうか。ssh サーバは踏み台ですか。
投稿2016/05/09 09:53
総合スコア2468
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/09 17:26
2016/05/09 22:46
2016/05/10 04:38
2016/05/10 06:45
2016/05/10 07:48
2016/05/10 08:10
2016/05/11 06:31
2016/05/11 16:52
2016/05/11 19:12
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/09 16:54
2016/05/10 07:46