web-dev-qa-db-ja.com

Ubuntuでrootとしてリモートログイン

私のプロジェクトでは、パッケージをリモートでインストールする必要があります。 debianでログインする必要がある場合は、次のように言います。

$ ssh root@remotehostname
root@remotehostname's password: 

正常にログインします。

私はbuntに直接ログインしてログインしています

 $ root@remotehostname
 root@remotehostname's password:

エラーメッセージがスローされます

Permission denied, please try again.

この問題を解決するには?

12
Reegan Miranda

buntuドキュメント は言う:

デフォルトでは、ルートアカウントのパスワードはUbuntuでロックされています

それはまた言います:

心に留めておいてください。相当数のUbuntuユーザーがLinuxを初めて使用します。どのOSにも学習曲線があり、多くの新しいユーザーがrootアカウントの有効化、rootとしてのログイン、システムファイルの所有権の変更によるショートカット。

それはなぜそれがこのように行われたのかについて詳細に話します。


Rootアカウントを有効にする:

Sudo -i

ルートアカウントを有効にする(つまり、パスワードを設定する)には、次のコマンドを使用します。

Sudo passwd root

ご自身の責任で使用してください!

Xにrootとしてログインすると、非常に深刻な問題が発生する可能性があります。特定のアクションを実行するためにrootアカウントが必要であると思われる場合は、最初に公式サポートチャネルを参照してください。より良い代替手段がないことを確認してください。

14
devnull

/etc/ssh/sshd_config構成するかどうかPermitRootLogin yes 未満 # Authentication:yesでない場合は、rootとしてログインできません。

yesに変更できます。

次に、sshサービスを再起動して変更を適用します:Sudo service sshd restart

16
vvy

rootアカウントを有効にしないでください。 rootアカウントにはパスワードを設定しないでください。

より良い方法は、パスワードではなく公開鍵認証を使用してrootログインを許可することです。 推論はDebianメーリングリストのアーカイブで説明されています。

  1. /etc/ssh/sshd_configを開き、PermitRootLoginyesに設定されているかどうかを確認します。そうでない場合は、yesに設定し、sshSudo service ssh restartで再起動します。

  2. ルートのホームに.sshディレクトリが存在しない場合は作成し、厳密な権限があることを確認します。

    Sudo -i mkdir -p .ssh
    Sudo -i chmod 700 .ssh
    
  3. ログインするシステムで公開鍵/秘密鍵のペアを作成します。

  4. 公開鍵を通常のユーザーアカウントにコピーします。

  5. ルートの.ssh/authorized_keysに公開鍵を追加し、ファイルに厳密な権限があることを確認します。

    cat id_rsa.pub | Sudo -i tee -a .ssh/authorized_keys
    Sudo -i chmod 600 .ssh/authorized_keys
    

この設定により、秘密鍵を使用してrootとしてログインできるはずです。

以前にrootアカウントを有効にしたことがある場合は、ここで必ず無効にしてください。

Sudo passwd -l root
11
janos

Rootのパスワードを設定することもできますが、これはお勧めできず、セキュリティ上のリスクが生じる可能性があります。ただし、Sudo資格情報を持つターゲットシステムにユーザーアカウントがある場合は、ユーザーとしてログインできます。

ssh user@remotehostname
user@remotehostname's password:

sudoを使用して必要な操作を行うか、推奨される方法でルートシェルを取得します。

user@remotehostname$ Sudo su
Password:
root@remotehostname#

その後、ハウスキーピングを行います。 「Sudo su」の代わりに、同等の「Sudo -i」または現在の環境を維持する「Sudo -s」を使用することもできます。

Ubuntu Sudo/Rootのドキュメントを参照してください

4
h1618

/ etc/sshd_configを次のように編集します。

Sudo /etc/sshd_config

PermitRootLoginを含む行を検索してAuthenticationセクションに移動し、コメントを外しますPermitRootLoginまたはset PermitRootLoginはい。または、次の行をファイルの最後に追加します。

PermitRootLogin yes

次に、sshデーモンを再起動します。

/etc/init.d/ssh restart 

または

service ssh restart

linuxディストリビューションによって異なりますが、これでssh経由でrootアカウントでログインします警告:セキュリティ上の理由から、これはお勧めできません。あなたができることは、ssh経由で他のアカウントにログインし、ユーザーセッション内で次のことを行うことです:

Sudo command

または単に:

Sudo su

rootアカウントでセッションを続行するには

3
Chamullo
ssh -l user localhost "Sudo whoami"

戻り値:

root

限り:

  1. リモートホストを使用すると、接続しているユーザーは、追加のパスワードを要求せずにSudoにアクセスできます。

  2. ssh-copy-idが実行されているか、正しいキーがリモートホストにコピーされているため、ユーザーはsshを介してパスワードなしで再接続できます

違いは、コマンドを実行する前にSudoという単語が追加されたことだけです。

キーなどのセキュリティ問題がある場合は、expectという言語を見てください。expectスクリプトを使用すると、リモートホストに対してssh/telnetを実行し、それに応じてパスワードなどを送信できます。

2
Vahid

Rootとしてログインするのに疲れたのは、AWS EC2を初めて使用したときであり、rootが存在することを知っていたので、rootで長い時間ログインしようとしました。ユーザー名ec2-user。

2
stink
  1. Sshd_configファイルを編集vi /etc/ssh/sshd_config
  2. コメントアウト#PermitRootLogin without-password認証の下:
  3. 下に挿入PermitRootLogin yes
  4. ファイルを保存します。
  5. Sshサービスを再起動しますservice ssh restart
1
RoyEp

デフォルトでは、ルートアカウントのパスワードはUbuntuなどのDebianベースのシステムではロックされています。

rootアカウントユーザーに切り替え:

Sudo -i;

次に、rootアカウントのパスワードを設定します。

Sudo passwd;

Rootのパスワードを追加するだけでは不十分です。

着信ssh接続は、以下のように有効にする必要があります。

編集/etc/ssh/sshd_config、次の行を見つけます:

PermitRootLogin without-password

単語を置き換えるだけwithout-password with yes、次の行のように:

PermitRootLogin yes

次に、SSHを再起動します。

Sudo service ssh restart;

最後にシステムを再起動します。

Sudo reboot;

できた!!!

1
Pratik Patil
  1. /etc/ssh/sshd_configファイルを編集して、「PermitRootLogin forced-commands-only」という行を「PermitRootLogin without-password」に変更します。

  2. service sshd restart」を使用してsshdサーバーを再起動します。

  3. /root/.ssh/authorized_keysファイルを編集します。このファイルは1行のみである必要があります。 「echo」または「command…sleep 10;」で始まります。その後、「ssh-rsa [big long key]」が表示されます。行の先頭から「ssh-rsa」と表示されるまでテキストを削除します。

キーペアでrootを使用してマシンをSSHします

0
Ali Azhar