誰かがコンピュータにアクセスしたいときはいつでも、私は彼らにssh-copy-idを要求します。マイコンピュータにユーザーアカウントとランダムパスワードを作成したら、これを行います。これは通常電子メールで行われます。
ユーザーにssh-copy-idを要求してアクションを実行するまで(数時間から数日かかる場合があります)、PasswordAuthentication yes
パスワードログイン" "を有効にするためにコンピュータを開いておく必要があります。
このワークフローを改善する方法はありますか?私はsshdをパスワードログインに公開したくないので、しばしばセッション間の設定を忘れてしまいますPasswordAuthentication no
。
答え1
キーを直接生成するように依頼してください。電子メールでパスワードや秘密鍵を送信することは決して良い考えではありません。転送は安全でなければなりませんでしたが、メールは長年にわたって潜在的に信頼できない2つ以上のサーバーに保存されています(無料メールなど)。
このユースケースでは、パスワード認証のみを公開することは価値がありません。再インポートを忘れたり、サービスを再起動したりすると、最終的にパスワード認証が有効になることがあります。必要に応じて、個々のユーザーに対して有効にしてください。
Match user new-user PasswordAuthentication yes
新しいユーザーの公開鍵と正しい権限を設定するスクリプトを作成します。そのサーバーに直接数行があるか、
ssh-copy-id
with-f
スイッチ(パスワード認証を有効にした場合)を使用してサーバーを開くウィンドウを最小化することもできます。認証に使用される公開鍵を制御し、ユーザーが認証鍵を作成/変更するのを防ぐために、
AuthorizedKeysFile
アクセスを制御するいくつかの公開ディレクトリにそれを設定できます。AuthorizedKeysFile /etc/ssh/authorized_keys/%u
new-user
これにより、ユーザーのファイルが検索されます/etc/ssh/authorized_keys/new_user
。このディレクトリに生成されたファイルには、/etc/
SSHに適したデフォルト権限が必要です。
答え2
少なくともLinux VPSで公開鍵認証を設定するときは、Hetzner Online(ドイツのISP)と同じ方法で行うことができます(設定中にアカウントパスワード設定の代わりにこのオプションを提供しますroot
)。
ユーザーに公開鍵を送信するように求める今後あなたは彼らが自分のアカウントにアクセスできるようにします。ユーザーアカウントのパスワードを直接設定しないでください。必要に応じてすべてをPubkeyAuthentication
sshdに保存しますが、必ず閉じてください。ユーザーアカウントを作成した後、またはキーを受け取った後にアクセスを許可する前に、ユーザー提供のキーを自分の〜/ .ssh / authorized_keysに挿入してください。 OpenSSHを使用していると仮定すると、ローカルホストのパスワード認証のみを許可するようにSSHサーバーを設定できます(/etc/ssh/sshd_configのスタンザを使用)。これにより、ワークフローをMatch
ローカルで使用でき、権限や所有権などを確実に設定できます。 。ssh-copy-id
内容が正しいです。
このようにして、ユーザーは常に秘密鍵に対するすべての権限を保持し、共有されていないデータは送信されません。また、秘密鍵を生成する他の人を受け入れるように教育することもありません。Amazonがこれを行うことができるかもしれません。私は個人的に疑わしいです。確かにキーペアをすぐに交換したいです。しかし、プロセスを正しく実行するためにAmazonと同じくらい多くのお金を投資する可能性はどのくらいですか?
理想的には、公開鍵が暗号化されたチャネルを介して送信されるようにする必要がありますが、これはプライバシーのためのものではありません。確実性。ユーザーは、自分が通信していると思うエンティティと通信しているかどうかを確認したいと考えています。しかし、単純で安全でない電子メールで公開鍵を送信しても、それほど悪くはありません。結局、公開鍵は公開されなければなりません。
新しいアカウントをほとんど設定しておらず、すでに関係のある人と一緒にいる場合は、電話で電話をかけてSSHキーフィンガープリントを読むように依頼し、受信した情報に基づいて確認するように依頼することもできます。また、ホストキーの指紋も提供してください。これにより、初めてでも正しいホストに接続されていることを確認できます。 (Hetznerは「あなたのVPSが準備されています」電子メールにホストキーの指紋を含めました。)
答え3
Amazonでやってください。公開/秘密鍵のペアを生成し、秘密鍵を送信します。認証()のために対応する秘密鍵を送信する必要があるため、ssh -i /path/to/key.pem user@host
SSHパスワード認証を有効にする必要はありません。
編集する: コメント作成者のおかげで、ついにそのコメントがどこから来たのかがわかります。到着もともと共有されましたセキュアチャネル(HTTPSなど)を介して送信する必要があるユーザーの秘密鍵。