在我的项目中,我必须远程安装一些软件包.如果我必须登录debian,我会说:
$ ssh root@remotehostname
root@remotehostname's password:
Run Code Online (Sandbox Code Playgroud)
它成功登录.
我已经在ubuntu中直接登录了
$ root@remotehostname
root@remotehostname's password:
Run Code Online (Sandbox Code Playgroud)
它是抛出错误信息
Permission denied, please try again.
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题呢?
vvy*_*vvy 16
检查下面/etc/ssh/sshd_config是否配置.如果不是,则不允许以root用户身份登录.PermitRootLogin yes# Authentication:yes
你可以改成它yes.
然后,重新启动ssh服务以应用更改:
sudo service sshd restart
dev*_*ull 14
Ubuntu文档说:
默认情况下,Root帐户密码在Ubuntu中被锁定.
它还说:
请记住,大量的Ubuntu用户不熟悉Linux.有一个与任何操作系统相关的学习曲线,许多新用户尝试通过启用root帐户,以root用户身份登录以及更改系统文件的所有权来获取快捷方式.
它详细讨论了为什么这样做.
启用root帐户:
sudo -i
Run Code Online (Sandbox Code Playgroud)
要启用Root帐户(即设置密码),请使用:
sudo passwd root
Run Code Online (Sandbox Code Playgroud)
使用风险自负!
以root身份登录X可能会导致非常严重的问题.如果您认为需要root帐户来执行某项操作,请先咨询官方支持渠道,以确保没有更好的选择.
Sto*_*ica 11
不要启用root帐户.不要为root帐户设置密码.
更好的方法是允许使用公钥身份验证进行root登录,而不是使用密码.推理在Debian邮件列表档案中进行了解释.
打开/etc/ssh/sshd_config并检查是否PermitRootLogin设置为yes.如果没有,那么它设置为yes并重新启动ssh与sudo service ssh restart
.ssh如果目录不存在,请在root的主目录中创建目录,并确保它具有严格的权限:
sudo -i mkdir -p .ssh
sudo -i chmod 700 .ssh
Run Code Online (Sandbox Code Playgroud)在要从中登录的系统中创建公钥/私钥对.
将您的公钥复制到您的常规用户帐户.
将您的公钥附加到.ssh/authorized_keysroot,并确保该文件具有严格的权限:
cat id_rsa.pub | sudo -i tee -a .ssh/authorized_keys
sudo -i chmod 600 .ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)使用此设置,您应该能够使用私钥以root身份登录.
如果您之前已启用该root帐户,请务必立即停用该帐户:
sudo passwd -l root
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42459 次 |
| 最近记录: |