背景:
从阿里云或腾讯云申请了云服务器后,创建云服务器后,你得到一个ip,比如115.159.143.201,现在对这个远程Ubuntu服务器进行相关初始化设置。
一、登录/退出 远程服务器
登录
ssh root@115.159.143.201
会提示你输入密码,第一个密码在你站内信有个初始化设置,要么你重设密码,要么用哪个初始化密码来登录远程服务器
退出
exit 和 logout 可以退出
二、安装相关东西
apt-get install sudo
因为sudo 命令在后面会用到,先用apt-get instal 来按照
三、添加/删除 新用户
创建 :adduser username
删除: userdel username
查看是否创建成功:ls /home
四、切换用户
1. root用户切回user用户 ==> su username (user是你自己安装时候的用户名)
2. user用户切回root用户 ==> su (会提示输入密码:这里是root用户的密码)
五、查看用户是否有sudo权限
1. 切到需要查看用户权限的用户下
2. sudo -l
六、给新建的用户添加sudo权限
1.切换到root用户状态下
2. 添加sudoers文件写权限
chmod u+w /etc/sudoers
chmod 用于改变文件或目录访问权限
u 表示文件所有者
+ 添加某个权限
w 可写
/etc/sudoers 文件路径
3.添加自己的用户到sudoers文件里(修改sudoers文件)
vim /etc/sudoers
在"root ALL=(ALL) ALL"这行下添加"username ALL=(ALL) ALL".
:wq保存退出
4.撤消sudoers写权限. 记得撤消写权限.
chmod u-w /etc/sudoers
七、禁用 root 登陆
在开始配置服务器的时候 ,我们提到了最好不用使用 root 账号登陆服务器。为了确保不会出现这种情况,我们可以修改 SSH daemon 的配置,禁止远程登陆值 root 账号。
先切到有sudo权限的账号
sudo vim /etc/ssh/sshd_config
如果想禁止远程 root 登陆,找到下面这行文本:
PermitRootLogin yes
将其修改为
PermitRootLogin no
禁止 root 账号登陆反而可以让服务器更加安全。
最后,只需要重启 SSH 服务即可让新配置生效。
$ systemctl restart ssh 这个命令是在有sudo权限用户下(如:在远程服务器)
然你再退出后,发现原来的ssh root@182.219.12.12 这种方式登录远程服务器已经不行了。
八、添加公钥验证
原因:密码每次远程登录到服务器都需要输入密码,麻烦
操作步骤:
1. 本地终端输入(不是登录远程服务器的终端)
ssh-keygen
就可以在本地生成一个SSH 密钥对,结果生成的密钥对出现 /Users/你的用户名/.ssh/id_rsa 目录下。
如果你以前没有生成过密钥对,按回车接受默认设置即可。如果有旧的密钥对的话,这样会覆盖以前的密钥对,建议更改为别的文件名。系统还会提示输入口令(passphrase),为了简单起见,我们直接回车使用空口令。如果你输入了口令的话,那么在 SSH 登陆时,除了需要提供密钥之外,还需要输入口令才能登陆。
会在本地用户的根目录中的.ssh目录下创建一个私钥id_rsa和一个公钥id_rsa.pub。记得别公开分享你自己的私钥。
2.复制公钥 到 远程服务器
本地终端输入:
ssh-copy-id username@182.193.12.1 //username就是你远程服务器的管理员用户名 ,也可以用root ,关键看你用哪个账户登录
结果:你刚才生成的公钥就会自动赋值到远程用户的.ssh/authorized_keys文件中。后面你再登录 ssh username@182.193.12.1 就不用输入密码了