ホストに接続したい場合、現在キーボードとモニターが接続されている場合は、そのユーザーにリモートで接続できるようにキーをユーザーにコピーする方法は?デフォルトではssh-copy-idと同じことをしたいのですが、まずssh経由で接続する必要はありません。
答え1
キーは以下のテキストファイルに保存されます$HOME/.ssh/authorized_keys
。
新しいキーを追加するには、キーの* .pubファイルの内容をファイルの新しい行にコピーします。
また、いくつかの追加情報を提供します。SSHウェブサイトから。
答え2
たとえば、次のコマンドを使用します。
scp name_of_public_key.pub root@<remote IP address>:</home/user_home_folder or /root>
次に、リモートホストにSSHを介して接続し、ユーザーのホームフォルダに移動します。
cd
または
cd /home/name_of_user
次に、次のように入力します。
cat name_of_public_key.pub >> .ssh/authorized_keys
公開鍵はauthorized_keysファイルの末尾に追加されます。公開鍵は秘密ではありません。
答え3
このワンライナーはプロセスを自動化します。
cat .ssh/id_ecdsa.pub | xargs -i ssh NameOfServer "echo {} >> .ssh/authorized_keys"
スクリプトはランダム-i
です{}
。
.ssh
ただし、ターゲットコンピュータにフォルダやファイルがないと失敗するため、authorized_keys
次のスクリプトはbash条件を使用して問題を解決します。
cat .ssh/id_ecdsa.pub | xargs -i ssh $1 "if [[ ! -e .ssh/authorized_keys ]];
then mkdir .ssh; touch .ssh/authorized_keys; fi; echo {} >> .ssh/authorized_keys"
ifステートメントは、ターゲットディレクトリが存在することを確認して終了します。またはターゲットディレクトリを作成して終了します。