Gần đây tôi đã cài đặt Ubuntu Server 12.04 (Precise Pangolin) và dự định sử dụng nó chủ yếu như một máy chủ tệp. Tôi hoàn toàn mới với Linux, vì vậy đây là một đường cong học tập khá lớn. Hôm qua tôi đã có thể định cấu hình PuTTY trên máy Windows 7 của mình bằng cặp khóa SSH để tôi có thể quản trị Ubuntu Server từ máy tính để bàn của mình. Điều này hoạt động tốt với điều kiện là cả hai máy nằm trên cùng một mạng.
Trong trường hợp máy tính xách tay của tôi ( MacBook Air ), nó có thể không phải lúc nào cũng nằm trên cùng một mạng. Có thể kết nối với máy chủ Ubuntu từ máy tính xách tay của tôi thông qua SSH khi nó ở trên một mạng khác không?
Tôi đã cài đặt avahi daemon để tên máy chủ cho máy chủ được phát trên mạng LAN và định cấu hình bộ định tuyến để nó sẽ luôn gán cùng một địa chỉ IP cho máy chủ. Ngoài ra, điều duy nhất tôi đã cài đặt trên máy chủ là OpenSSH nơi tôi đã tắt xác thực mật khẩu để bạn chỉ có thể kết nối bằng cặp khóa.
Tôi nghĩ rằng tôi sẽ có thể làm một cái gì đó như thế này từ thiết bị đầu cuối trên máy tính xách tay của tôi:
ssh my.external.ip.address user@hostname.local
Khi tôi thử lệnh đó, tôi gặp lỗi:
ssh: kết nối với máy chủ my.external.ip.address 22: hoạt động đã hết thời gian
Tôi cũng đã thử
ssh my.external.ip.address user@servers.local.ip.address
và tôi nhận được thông báo lỗi như trước. Vì vậy, điều đó sẽ cho bạn một ý tưởng về những gì tôi đang cố gắng làm, nhưng điều này có thể không, và nếu có, làm thế nào để tôi làm điều đó?
Giả sử tôi có thể thiết lập kết nối bên ngoài qua ssh từ máy tính xách tay của mình, có khả năng ISP của tôi sẽ thay đổi địa chỉ IP bên ngoài sẽ phá vỡ kết nối bên ngoài. Tôi muốn có thể kết nối mạnh mẽ, đó là, nếu ISP của tôi thay đổi địa chỉ IP bên ngoài, tôi vẫn có thể kết nối từ xa đến máy chủ mà không cần phải biết địa chỉ IP bên ngoài mới là gì.