Cấu hình shortcut ssh config
This post hasn't been updated for 6 years
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ự ánHostName
: Đị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 serverPort
: Port khi connect vào server, mặc định sẽ là 22ServerAliveInterval
: 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:
All Rights Reserved