タグ付けされた質問 「key-authentication」

パスワード認証の代替として使用できる認証の一種であるキー認証に関する質問。ユーザーのパスワードを要求する代わりに、公開鍵と秘密鍵を使用した非対称暗号化アルゴリズムを使用して、クライアントのIDを確認することができます。

5
パスワードプロンプトなしでの1つのサーバーから別のサーバーへのSCP
scpパスワードを要求せずに、あるボックスから別のボックスに行う最良の方法は何ですか? 2つのサーバーがあります。 サーバーA(10.152.2.10): /home/oracle/export/files.txt サーバーB(10.152.2.11): /home/oracle/import/ scpパスワードの入力を求められることなく、サーバーAからサーバーBにファイルを転送する場合 [これをサーバーAから実行/home/oracle/export/] scp files.txt oracle@10.152.2.11:/home/oracle/import これにより、コマンドの入力時にパスワードの入力が求められます。 keygenを生成してサーバーAにコピーする必要があることを理解しています。したがって、[サーバーAで]: ssh-keygen -t rsa これにより、/home/oracle/.ssh次の2つのファイルが保存されます。 id_rsa id_rsa.pub 1. 2つのファイル(id_rsa、id_rsa.pub)をサーバーB にコピーすることになっています/home/oracle/.sshか? これについていくつかのグーグル検索を行っている間、いくつかの記事はこれをauthorized_keysへの追加/連結について言及しました。 2.自分でこのファイルを作成することになっていますか? 私はこれを行う正しい方法が何であるかについて混乱しているようです。 ところで、2台のサーバーはSuse Linux Enterprise Edition 9を実行しています...

2
SSHを使用したパスワードレスアカウントへの一貫した安全なアプローチ
場合によっては、パスワードのないサーバーが好きであることを認めなければなりません。一般的なサーバーは、物理的にアクセスできるすべてのユーザーに対して脆弱です。そのため、場合によっては物理的にロックしてから、物理的なアクセスを信頼することが実用的です。 基本概念 理論的には、このようなサーバーに物理的にアクセスする場合root、ログインとして入力するだけでパスワードなしで管理タスクを実行でき、パスワードを要求されることはありません。同じことがユーザーアカウントにも当てはまりますが、実際には物理的にアクセスすることはありません。したがって、(時々)ローカルアクセスにシステムパスワードは必要ありません。 管理またはユーザーアカウントのいずれかでサーバーにリモートでアクセスする場合、常にSSH秘密キーを使用することを期待しています。作成したばかりのアカウントにSSHキーを設定するのは非常に簡単なので、(通常の)リモートアクセスにシステムパスワードは必要ありません。 # user=... # # useradd -m "$user" # sudo -i -u "$user" $ keyurl=... $ $ mkdir -p .ssh $ curl -o .ssh/authorized_keys "$keyurl" 結論は理論的には、我々はneeedいないだろう、ということですどのようなユースケースのためのシステムパスワードを。そこで問題は、システムとユーザーアカウントをどのように構成して、それを一貫性のある安全な方法で実現するかです。 ローカルアクセスの詳細 パスワードなしでrootアカウントにローカルにアクセスできるようにするにはどうすればよいですか?passwd -dルートアクセスを許可しすぎて、権限のないユーザーが無料でルートに切り替えることができるため、使用できないと思います。これは間違っています。passwd -lログインできないため使用できません。 ローカルアクセスは、ローカルキーボードを使用したアクセスのみに関することに注意してください。したがって、有効なソリューションでは、ユーザーの切り替えを許可してはなりません(suまたはを使用sudo)。 リモートアクセスの詳細 最近まで上記のソリューションは機能していましたが、SSHはロックされたユーザーアカウントのチェックを開始しました。passwd -d同じ理由で使用できない可能性があります。それがpasswd -u何をもたらすのか不平を言っているだけなので、私たちは使用できませんpasswd -d。 この部分にダミーのパスワードを使用する回避策があります。 user=... echo -ne "$user:`pwgen 16`\n" | chpasswd SSHでロックされたアカウントチェックを完全にオフにすることも可能かもしれませんが、ロックされたアカウントのサポートを保持し、それらのロックを解除できる方がよいでしょう。 最終ノート 私が興味を持っているのは、パスワードなしで、ローカルアカウントと、rootを含むすべてのアカウントにリモートでログインできるソリューションです。一方、ソリューションは、特にリモートユーザーがルートアカウントまたは他のユーザーのアカウントにアクセスできるようにすることによって、明示的に説明されている方法を除き、セキュリティに影響を与えてはなりません。ソリューションは、間接的にセキュリティ問題を引き起こさないように、十分に堅牢でなければなりません。 …

4
パスワードなしのログインを機能させる方法
キーを生成してターゲットにコピーしました: ssh-keygen ssh-copy-id username@hostname キーの場所はデフォルトのままにして、パスフレーズを設定しませんでした。 その後しばらくの間、私はssh username@hostnameパスワードの入力を求められることなくできましたが、何らかの理由で機能しなくなりました。

2
SFTPを使用してパスワードなしのバックアップを制限する
Duplicityを使用してサーバーをコンピューターにバックアップする必要があります。 duplicity /etc sftp://backup@my.dynamic.ip.address//home/backup これを行う前に、次の手順でパスワードなしのアクセスを許可する必要があります。 $ ssh-keygen $ ssh-copy-id backup@my.dynamic.ip.address $ ssh backup@my.dynamic.ip.address 私の質問は、生成された公開キーでこのSFTP転送だけにコマンドを制限するにはどうすればよいですか? command="restrict to sftp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA… また、動的IPアドレスを使用しているので、IPが変更されるたびに、「不明なホストが見つからない」問題をどのようにして克服できますか?


2
`ssh-copy-id`のstdinを介してパスワードを送信します
理想的にはを使用して、いくつかのID展開を自動化する必要がありssh-copy-idます。 私は標準入力を介してパスワードを提供しようとしていますが、これはフラグsshを使用することで可能になり-Sます。コマンドでフラグをssh使用するための追加オプションを送信できることは承知していますが、このフラグの使用例はmanページにありません。-ossh-copy-id だから私はssh-copy-id使用してstdin経由でSSHパスワードを渡そうとしました: $# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S" しかし、私が得るすべては: /bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s 編集: 私は標準入力を介してパスワードを提供しようとしていますが、これはフラグsshを使用することで可能になり -Sます。 このステートメントは間違っています。私は実際にこのフラグをsudo人から読んだことがあります。

1
秘密のSSHキーがある場合、公開キーを回復するにはどうすればよいですか?
どういうわけかid_rsa.pubファイルを失ってしまいました。まだid_rsaファイルがあります。秘密鍵から公開鍵を回復するにはどうすればよいですか? (この質問は後に来ssh-copy-idしばらくは:「いいえアイデンティティが見つかりERROR」を報告しましたssh-keygen「/root/.ssh/id_rsaがすでに存在している」と報告した。ls ~/.ssh問題が持っていた指摘id_rsaではなくid_rsa.pub、私は解決策を見つけたが、それが一番下に埋葬されたが。 Ubuntuサポートフォーラムの長い投稿の1つです。)

3
パスワードでリモートsshログインから自分のアカウントをロックするにはどうすればよいですか?
パスワードを使用したリモートログインを完全に無効にしたくないが、自分のアカウントにキーペア認証でのみアクセスできるようにしたい(パスワードを使用してログインしたい他のユーザーがいる)。ユーザーごとに、理想的にはシステム設定を変更せずにこれを変更することは可能ですか? 明確にするために、私のアカウントはsudoアクセスを持っているので、パスワードをロックしたくありません。

1
ホームディレクトリのないアカウントにSSHでログインします。
私のフォローアップとして、前の質問に、私は、ローカルユーザが以下のようにアカウントを作成することにしました。 adduser --system --no-create-home USERNAME ここで、ローカルユーザーがを使用してマシンにアクセスできるようにしたいと思いますssh。私の理解によると、ssh以下のように動作します。 私が2台のマシン(たとえばalphaとbeta)を持っていると仮定します。 アルファマシンから:ssh user@beta アルファの公開鍵は存在下になる~/.ssh/authorized_keysにはベータ機。 アルファの秘密鍵は、下に存在することになる/~/.sshでアルファマシン。 現在、ユーザー向けのホームを実装しないことを計画しています。それで、私adduserがユーザーの家なしでベータマシンに入ると仮定しても、アルファからベータにsshすることはできますか?


1
ssh-agentにsudoのような非アクティブ/アイドルタイムアウト機能がない技術的な理由はありますか?
ssh-agent -t[1]で既存の機能についていくつかの簡単な議論があり、2001年までさかのぼってdebian-devel [2]に非アクティブタイムアウト機能を希望する投稿がありました。SEのページェントに関する同様の議論がここ[3]にあります。 地球の他の部分がどのようにSSHキーを保護しているのか疑問に思います。これが私にとってこのような問題点であると思われる明らかなものを欠いているのでしょうか。具体的には、ansibleなどのスクリプト化されたssh対話について考えています。今日、あなたの選択は次のようです: エージェントでのキーの有効期間を心配なほど長い期間に設定します。1hまたはスクリプトの最大実行時間は偶然かもしれません(多くの人がsudo re-authタイムアウトがそれだけ長くなることを許可しているのではないかと思います!)- seahorse/ / gnome-keyring-daemonこれもほとんどサポートしていません[4] 実行時間の長いスクリプトをベビーシットし、5/10/15分ごとにパスフレーズを再入力し続けます。パスフレーズの入力を1日20回簡単に見ることができます おそらくシェルのTMOUTシェル変数と組み合わせて、この欠けている機能を模倣する独自の自家製ソリューションをハックしてください(その提案についてはfreenode #openssh IRCの人々に感謝します) キーの有効期間を設定しないでください。つまり、エージェントはキーを永久にロードするか、強制終了または再起動するまでキーをロードし続けます sshエージェントの短いタイムアウト、強力なパスフレーズ、認証するロールのタイプごとに異なるキーファイルを使用している場合、これは非常にイライラする1日につながります。 私はgpgkey2sshとスマートカードで実験しましたが、これはこの特定の問題を実際に解決しません:ssh-agent機能が引き続き必要で、秘密鍵が公開されないようにするためだけに5分ごとに再認証する必要はありませんコンピュータがアイドル状態のときにメモリに。 私はそれを間違っていますか? [1] SSHエージェントのデフォルトのタイムアウトの構成 [2] https://lists.debian.org/debian-devel/2001/09/msg00851.html [3] /server/518312/putty-pageant-forget-keys-after-period-of-inactivity [4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231

6
通常のユーザーが読み取りできない秘密鍵を使用してSSHで接続できるようにする
少数のユーザー(サポートスタッフと呼ばれる)だけがSSHにアクセスできるマシンのセット(ここでは顧客のマシンと呼ばれます)があり、マシンごとに1つのアカウント(サポートアクセスアカウント)のみを使用するとします。 サポートスタッフは、キーを使用して顧客のマシンにログインすることのみが想定されています。さらに、サポートスタッフは進化する可能性があるため、サポートスタッフを離れた人は、お客様のマシンにログインすることはできません。そのため、スタッフはお客様のマシンへのログインに使用される秘密鍵を読み取ることを禁止されています。また、authorized_keysお客様のマシン上でファイルを改変することは禁じられています。 この構成を実現するために、私はサポートスタッフが(LDAP認証を使用してログインしますが、これは別の問題です)秘密鍵を含むSSHプロキシを使用するという考えを持っていました。 問題は、サポートスタッフがSSH秘密キーを読み取ることなく使用できるようにするにはどうすればよいですか。 ユーザーの要求を受け入れ、それらのSSHセッションを開くプロキシマシンでrootとして実行するデーモンを作成する必要があると思いますが、それを行う方法がわかりません。何か案は?

3
パスフレーズで保護されたSSHキーを使用したparallel-ssh
パスフレーズで保護されたSSHキーをparallel-ssh(および関連ツールを使用して)タスクを実行するときに使用したいと思います。ただし、これを機能させることはできません。 に関するすべてのドキュメントは、parallel-ssh私がこれを使用--askpassまたは-A実行できるはずであることを示しています: -A --askpass Prompt for a password and pass it to ssh. The password may be used for either to unlock a key or for password authentication. The password is transferred in a fairly secure manner (e.g., it will not show up in argument lists). However, be aware that …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.