本文概述
- 1.使用SSH访问你的服务器
- 2.编辑authorized_keys文件
Please login as the user "ubuntu" rather than the user "root".
基本上, 这样做是防止你以root用户身份访问, 并迫使你先以ubuntu用户身份登录, 然后再使用sudo su来获得root用户访问权限。对于大多数管理员来说, 这有时不是问题, 因为这是ubuntu安全模型, 但是这可能是一个大问题, 例如, 当你尝试通过SFTP访问服务器时, 你将无法访问/删除/由于权限不足, 因此无法重命名或移动文件/目录, 因为你不是以root用户身份登录, 而是以ubuntu身份登录。
【如何在AWS Ubuntu 16.04实例上以root身份允许SSH和SFTP访问】根据许多观点和Ubuntu安全模型, 通过SSH或SFTP以root用户身份登录很不好, 因为它破坏了此操作系统上已有的安全模型。每个应用程序都应以非管理权限运行, 因此你必须提升其特权才能修改基础系统(例如目录等)。如果你知道自己在做什么, 为什么要这样做, 例如从基于Plesk的服务器迁移, 在需要root访问的情况下, 我们将在本文中向你展示如何在基于Ubuntu的AWS EC实例中以SSH或SFTP身份以root身份进行访问。
1.使用SSH访问你的服务器 第一步, 像平常一样访问ubuntu服务器, 请访问ubuntu@publicdns-host-address.com, 并使用你喜欢的工具(Putty)的私钥。然后在CLI上, 使用以下命令为ubuntu用户获得root特权:
sudo su
使用此命令, 你将以root用户身份登录。
2.编辑authorized_keys文件 现在你已经是root用户, 你需要专门修改此用户的” authorized_keys” 。你可以使用nano在终端上编辑此文件:
nano /root/.ssh/authorized_keys
这将打开该文件, 该文件可能仅包含一个authorized_key(即在创建实例时亚马逊为你提供的KeyPair)和文件开头的一些文本:
no-port-forwarding, no-agent-forwarding, no-X11-forwarding, command="echo 'Please login as the user "ubuntu" rather than the user "root".';
echo;
sleep 10"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqekAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe AmazonOriginalKeyPairName
这恰好是授权密钥的行, 它阻止你从任何工具作为root用户访问:
no-port-forwarding, no-agent-forwarding, no-X11-forwarding, command="echo 'Please login as the user "ubuntu" rather than the user "root".';
echo;
sleep 10"
要允许以root用户身份访问, 请仅从root帐户的authorized_keys文件中删除授权密钥之前的文本, 然后保存更改。保存更改后, 你的authorized_keys文件将仅具有授权的ssh密钥, 在我们的情况下只有一个:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqekAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqeAAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe AmazonOriginalKeyPairName
现在, 尝试再次以root和voila身份登录到你的EC实例, 通过SSH或SFTP进行root访问, 这意味着你不再有目录权限问题。
文章图片
记得 以root用户身份登录后, 你可以执行所有操作, 因此系统不会询问你!你是否要格式化某些磁盘或从任何地方删除所有目录和数据?好的, 只需运行命令即可。你是根, 知道自己在做什么。所以要小心
编码愉快!
推荐阅读
- 如何解决Ubuntu 16.04中的Plesk安装/升级错误(系统中没有/etc/localtime文件)
- 在Plesk中创建MySQL Server数据库的非增量(逻辑备份)自动备份外壳脚本(sh)
- 如何在Mac上找到Android SDK Manager路径
- Android向后兼容性
- 虽然不建议安装Android Studio SDK组件()
- Android SDK下载作为Gradle Build的一部分
- Android应用程序使用Facebook登录无法安装Facebook App
- Android模拟器(安装错误:INSTALL_FAILED_VERSION_DOWNGRADE)
- 如果Android版本在“X”下如何隐藏ImageButton()