Mình đã gặp tình trạng này khi setup ubuntu server theo memo và note của bên Nhật. Cụ thể sau khi tạo 1 instance ubuntu trên AWS mình đã chạy các lệnh theo memo sau
Tình trạng mình gặp sau đó là SSH bị operation timed out có 2 trường hợp là IP ssh server sai hoặc IP của mình bị block (hình ảnh IP dưới đây chỉ là minh hoạ)
Mình đã check lại SG(Security Group) của instance tạo ra đã được config đúng theo yêu cầu, thậm chí khi test debug mình đã để allow tất cả IP, đã gắn thêm elastic IP vào phòng trường hợp instance bị thay đổi IP và kiểm tra lại IP của mình nhưng vẫn không thể ssh
Sau khi nhận thấy và test lại chỉ khi sau khi config như ảnh đầu mới không thể ssh => mình đã để ý những đoạn code config và có thấy một đoạn config ubuntu firewall mình đã nghi ngờ một số port bị block do firewall này(có thể trong đó có port 22 để ssh)
Sau khi research thêm về ubuntu firewall mình thấy chính xác nguyên nhân gây ra là do ubuntu firewall và instance của mình đang có config nginx đầy đủ và file code mình không hề muốn phải ngồi tạo lại 1 cái như vậy nên mình đã sử dụng AMI của AWS => tạo một hình ảnh phản chiếu của máy ảo hiện tại để tạo một instance mới với hình ảnh này.
Nhưng với hình ảnh này config vẫn như cũ trong đó có config tường lửa vẫn chặn ssh nên trước khi tiến hành launch instance với AMI vừa tạo mình kéo đến phần advanced detail và thêm vào mục User data như sau
#!/bin/bash
sudo ufw allow ssh
sudo ufw allow 22
sudo ufw allow 443
sudo ufw allow 8080
sudo ufw allow 80
sudo ufw status
sudo ufw enable
=> việc này sẽ tạo 1 instance mới với config ubuntu và allow các port cần thiết vậy là đã có thể SSH vào được bình thường
Mong chia sẻ trên đây có thể một phần nào giúp ích cho thời gian xử lý khi gặp lại tình trạng tương tự
HAPPY CODING!
Nguồn:
Setup AWS server: https://forum.caeruxlab.com/d/60-aws-from-zero-phan-2-ec2-va-trien-khai-du-an-laravel-tren-ec2/7
Debug: https://www.knowledgehut.com/blog/cloud-computing/sshing-into-ubuntu-ec2-instance-post-blocking-port-22-with-ufw-cloud-computing