Cấu hình shortcut ssh config
Giới thiệu Hiện nay server là vps đã khá phổ biến, vì vậy việc cần ssh vào server để cài đặt cấu hình đã rất quen thuộc đối với những người hay phải quản trị server. Việc nhớ tất cả các thông tin của server để ssh vào chạy lệnh là một công việc phức tạp, nhất là đối với ai quản trị nhiều server ...
Giới thiệu
Hiện nay server là vps đã khá phổ biến, vì vậy việc cần ssh vào server để cài đặt cấu hình đã rất quen thuộc đối với những người hay phải quản trị server. Việc nhớ tất cả các thông tin của server để ssh vào chạy lệnh là một công việc phức tạp, nhất là đối với ai quản trị nhiều server cùng một lúc.
Hôm này mình giới thiệu cho các bạn một cách có thể rút ngắn thời gian ssh vào server cũng như không cần nhớ những thông tin phức tạp của server như ip, port ...
Bạn có thể cấu hình máy khách OpenSSH ssh của bạn bằng các tệp tin khác nhau như sau để tiết kiệm thời gian và nhập các tùy chọn dòng lệnh ssh thường xuyên được sử dụng như port, user, hostname, identity-file và nhiều hơn nữa:
Cấu hình.
- Đầu tiên bạn cần edit file ~/.ssh/config bằng một text editor nào đó, ví dụ như nano, vi ...
- Cú pháp để config có dạng như sau:
config value config1 value1 value2
- Nếu trên máy tính của bạn chưa tồn tại thư mục .ssh thì cần chạy lệnh sau:
mkdir -p $HOME/.ssh chmod 0700 $HOME/.ssh
Một số option hay dùng để cấu hình ssh config như sau:
- Host: Tên viết tắt của máy chủ, bạn có thể đặt bất kì cái nào dễ nhớ nhất, giả sử tên dự án
- HostName: Địa chỉ ip của máy chủ
- User : User để ssh vào server.
- IdentityFile: Chính là public key của ssh, mặc định nó sẽ tìm trong ~/.ssh/id_rsa nếu bạn không config.
- ProxyCommand: Command đặc biệt khi connect vào server
- Port: Port khi connect vào server, mặc định sẽ là 22
- ServerAliveInterval: Time out khi connect vào server.
Ví dụ
- Giả sủ bạn muốn connect vào server 192.168.1.100 với port là 4444 ta có các lệnh cấu hình như sau:
nano ~/.ssh/config
- Đưa đoạn code sau vào:
Host viblo_project Hostname 192.168.1.100 User root Port 4444
Ấn crt + x và y để lưu lại.
bay h để ssh vào server 192.168.1.100 thay vì dùng lệnh ssh root@192.168.1.100 -p 4444, bạn chỉ cần gõ ssh viblo_project vậy là xong.
- Nếu bạn có nhiều server chỉ cần thêm các server tiếp theo vào bên dưới:
### default for all ## Host * ForwardAgent no ForwardX11 no ForwardX11Trusted yes User nixcraft Port 22 Protocol 2 ServerAliveInterval 60 ServerAliveCountMax 30 ## override as per host ## Host server1 HostName server1.cyberciti.biz User nixcraft Port 4242 IdentityFile /nfs/shared/users/nixcraft/keys/server1/id_rsa ## Home nas server ## Host nas01 HostName 192.168.1.100 User root IdentityFile ~/.ssh/nas01.key ## Login AWS Cloud ## Host aws.apache HostName 1.2.3.4 User wwwdata IdentityFile ~/.ssh/aws.apache.key ## Login to internal lan server at 192.168.0.251 via our public uk office ssh based gateway using ## ## $ ssh uk.gw.lan ## Host uk.gw.lan uk.lan HostName 192.168.0.251 User nixcraft ProxyCommand ssh nixcraft@gateway.uk.cyberciti.biz nc %h %p 2> /dev/null ## Our Us Proxy Server ## ## Forward all local port 3128 traffic to port 3128 on the remote vps1.cyberciti.biz server ## ## $ ssh -f -N proxyus ## Host proxyus HostName vps1.cyberciti.biz User breakfree IdentityFile ~/.ssh/vps1.cyberciti.biz.key LocalForward 3128 127.0.0.1:3128
Tăng Tốc độ ssh session
Thêm đoạn sau vào config:
ControlPath ~/.ssh/controlmasters/%r@%h:%p ControlMaster auto
Sau khi thêm đoạn code sẽ như sau:
Host viblo_project Hostname 192.168.1.100 User root Port 4444 ControlPath ~/.ssh/controlmasters/%r@%h:%p ControlMaster auto
Tham khảo:
- https://www.cyberciti.biz/faq/create-ssh-config-file-on-linux-unix/