ルートアカウント、sshpass、sudoなしでroot SSH公開鍵ログインを有効にする方法は?

ルートアカウント、sshpass、sudoなしでroot SSH公開鍵ログインを有効にする方法は?

Ubuntu 1804のAzure VMサーバーを作成し、それを使用してルートSSH公開鍵ログインを有効にする必要があります。 Azure では、サーバーの作成時にルート SSH 公開鍵ログインを有効にしたくないため、パスワードとともにルート以外のアカウントを使用して直接ログインする必要があります。

ベストアンサー1

sshpass -p 'xxxYourPassword' ssh -C -o StrictHostKeyChecking=no -o ConnectTimeout=10 xxxYourServerUsername@xxxYourServerIp 'sudo bash -c '"'"'umask 077 && mkdir -p .ssh && echo '"'"'"'"'"'"'"'"'xxxYourSshPublicKey'"'"'"'"'"'"'"'"'>> /root/.ssh/authorized_keys'"'"''

xxxYourPasswordをあなたのパスワードに置き換えてください。 xxxYourServerIp をサーバー IP に置き換えます。 xxxYourServerUsername をサーバーのユーザー名に置き換えます。 xxxYourSshPublicKeyをSshPublicKeyの内容に置き換えます(これを行う必要がありますssh-rsa xxx root@xxx)。

私はこれが安全な方法ではないことを知っていますが、1行のコマンドでタスクを実行し、golangから自動的に呼び出したいと思います。自動的に安全な他の方法がある場合はお知らせください。

ルートアカウントとパスワードなしで作成可能なvpsベンダーが多いため、自動的に作成する必要があります。

ありがとうhttps://stackoverflow.com/questions/1250079/how-to-escape-single-quotes-within-single-quoted-stringsbashで文字列を続けてエスケープしてエスケープする方法を教えてください。

おすすめ記事