Khi chúng ta quản lý 1 hoặc nhiều vps / server. Chúng ta thường sử dụng giao thức SSH để kết nối tới server đó. Có người sẽ sử dụng các phần mềm quản lý và kết nối SSH như là PuTTY, SecureCRT,… Còn có người sẽ kết nối thủ công bằng câu lệnh ssh để không phải cài đặt phần mềm lên máy tính. Tuy nhiên với 1 kết nối SSH có host là 1 địa chỉ IP thì mỗi lần kết nối chúng ta rất khó nhớ ra địa chỉ IP đó. Vậy sau đây vinasupport.com sẽ hướng dẫn các bạn quản lý kết nối SSH mà ko cần cài đặt và sử dụng phần mềm của bên thứ 3.
Kết nối SSH sử dụng file SSH Config
Đây là 1 ví dụ khi các bạn thực hiện câu lệnh SSH tới 1 server.
ssh [email protected]
Để thực hiện câu lệnh trên bạn cần tối thiểu
- Địa chỉ IP hoặc là hostname của server
- SSH user
- SSH password
Với những thông tin này, thêm vào file ~/.ssh/config như sau:
Host vinasupport HostName vinasupport.com User admin
Và bây giờ bạn có thể login với command như sau:
ssh vinasupport
Sau đó nhập password vào là có thể login.
Mặc định trong file ~/.ssh/config bạn vẫn phải nhập mật khẩu hay nói cách khác nó không cho phép chúng ta lưu trữ mật khẩu ở đó. Tuy nhiên bạn có thể sử dụng ssh key để để login ngay lập tức mà ko phải đánh mất khẩu.
Cách tạo và sử dụng ssh key các bạn vui lòng đọc bài viết sau:
Khi đó bạn đặt thêm 1 tham số là IdentityFile vào file config. Đây là đường dẫn của file ssh private key.
Host vinasupport HostName vinasupport.com User admin IdentityFile ~/.ssh/vinasupport.com.key
Khi thực hiện lệnh kết nối ssh vinasupport bạn ko cần phải nhập mật khẩu nữa.
Tạo nhiều Kết nối SSH sử dụng file SSH Config
Tương tự nếu chúng ta có nhiều server thì đặt chung vào file ssh config theo thứ tự như sau:
Host example1 HostName example-1.com User admin Host example2 HostName example-2.com User admin Host example3 HostName example-3.com User balala
Các tham số của file SSH Config
Cuối cùng là danh sách các tham số được sử dụng trong file SSH Config
- HostName: tên miền hoặc địa chỉ IP của server
- User: SSH User
- IdentityFile: Đường dẫn của SSH Private Key trên máy tính
- Port: Cổng SSH của server. Mặc định là 22 nhưng nếu server thay đổi port thì bạn cần điều nó vào đây.
- LocalForward: Hiểu nôm na là sau khi login ánh xạ 1 port trên server về 1 port trên máy local của chúng ta.
- StrictHostKeyChecking: Có giá trị là yes, no. Khi bạn login lần đầu nó sẽ yêu cầu bạn xác nhận đúng là bạn muốn thực hiện hành động này không.
- ProxyCommand: Chạy command này khi kết nối tới server.
- ServerAliveInterval: Timeout khi kết nối tới server
- Protocol: Chỉ định giao thức SSH Protocol
Tăng tốc kết nối SSH
SSH sử dụng giao thức máy tính là TCP. Khi bạn sử dụng nhiều kết nối SSH cùng 1 lúc, khi đó trên máy tính sẽ tạo ra nhiều kết nối TCP. Vì vậy bạn có thêm tham số sau vào để có thể tận dụng lại kết nôi TCP có sẵn, giảm lãng phí tài nguyên máy tính.
- ControlPath ~/.ssh/controlmasters/%r@%h:%p
- ControlMaster auto
Nguồn: vinasupport.com