0%

ECS服务器成长笔记

ECS服务配置

服务器配置:
i-7xvatqiyl3pikzz7pz2t运行中(2核(vCPU) 2GiB) AliyunLinux

添加私钥

在本地电脑使用以下命令查看并公钥内容:

1
cat ~/.ssh/id_rsa.pub

执行以下1或2完成添加公钥操作。
1.打开ECS后台远程链接,编辑 authorized_keys 文件:

1
编辑 authorized_keys 文件。

按Esc建输入:wq保存退出。

附:如果你第一次使用没有正常关闭,执行一下操作

1
2
# 尝试使用 ps 命令查看正在运行的 Vim 进程
ps aux | grep vim

找到相关的 Vim 进程,并使用 kill 命令终止它们。

1
kill -9 <process_id>

2.登录ECS管理控制台。在左侧导航栏,网络与安全 > 密钥对 > 添加复制出来的公钥内容 命名为test

在左侧导航栏,选择实例与镜像 > 实例。

在操作列中,找到购买的ESC实例…> 实例属性 > 绑定密钥对,选择test, 确定重启。

检查并启动SSH服务(ECS)

启动SSH服务:

1
2
sudo systemctl start sshd
sudo systemctl enable sshd

确保服务正在运行:

1
sudo systemctl status sshd

检查 SSH 配置文件:

1
sudo vi /etc/ssh/sshd_config

确保以下配置项正确:

1
2
3
Port 22
PermitRootLogin yes
PasswordAuthentication yes

保存并退出,然后重新启动 SSH 服务:

1
sudo systemctl restart sshd

问题记录:配置完成链接不上,关掉vpn,关闭手机链接的wifi用自己的手机热点链接即可..

查看sshd日志排除问题

1
sudo grep sshd /var/log/secure

创建用户

修改前确保sshd_config密码验证开启:

1
2
3
sudo vi /etc/ssh/sshd_config
# 更改以下选项
PasswordAuthentication yes

查看当前用户名:

1
whoami

创建新用户
假设创建名为myecs的新用户:

1
2
3
sudo adduser myecs
# 设置密码
sudo passwd myecs(回车输入)

添加sudo权限,执行:

1
sudo visudo

在打开的文件内容中,找到并修正以下代码:

1
2
3
4
5
## Allow root to run any commands anywhere
root ALL=(ALL) ALL

## 添加新的myecs sudo权限
myecs ALL=(ALL) ALL

最后切换用户

1
2
3
4
5
6
su - myecs

# 验证sudo权限 回车有输出testfile即验证成功
whoami
sudo touch /root/testfile
sudo ls /root

为新用户添加公钥

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建.ssh目录和authorized_keys文件(如果不存在)
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

# 设置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

# 将公钥添加到authorized_keys文件
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvLJ... your_public_key_here" >> ~/.ssh/authorized_keys

# 确认公钥添加是否成功
cat ~/.ssh/authorized_keys

报错日志

问题描述

如果还是验证失败,可以考虑目录的所有权或权限设置不正确问题
使用以下命令查看日志(需要 root 权限),没关闭root的建议用root终端执行更直接:

1
sudo tail -f /var/log/secure

如果日志有如下类似报错,则表明(用户路径)/home/myecs 目录的所有权或权限设置不正确, 服务器拒绝了公钥认证。

1
Authentication refused: bad ownership or modes for directory /home/myecs(某某路径)

解决方案

修正目录的所有权,确保 /home/myecs 目录的所有者是 myecs 用户:

1
sudo chown myecs:myecs /home/myecs

接着执行目录权限修正操作:

1
2
3
sudo chmod 755 /home/myecs 
sudo chmod 700 /home/myecs/.ssh
sudo chmod 600 /home/myecs/.ssh/authorized_keys

注意用户根目录权限不要用700,否则该启用的api和站点服务会无法访问,最后重启SSH服务:

1
sudo systemctl restart sshd
-------------本文结束感谢您的阅读-------------