Giao diện
SSH, SOCKS và tunnel
Khi database không truy cập trực tiếp được, app có ba cách đi qua. Các cách này nằm trong form kết nối, và không áp dụng cho engine dạng file.
Nếu đặt nhiều cách, app ưu tiên theo thứ tự: lệnh tunnel, SOCKS5, rồi SSH.
SSH
Chọn Connect through an SSH tunnel. App chạy OpenSSH của hệ thống với ssh -N -L từ một cổng trống trên máy bạn.
| Trường | Ghi chú |
|---|---|
| SSH host, port, user | Để trống user thì lấy từ ~/.ssh/config |
| Private key | Để trống thì dùng khóa trong agent |
| SSH password | Để trống thì dùng khóa hoặc agent |
Host và port của database là địa chỉ nhìn từ máy SSH.
Mật khẩu SSH được giữ trong kho bảo mật, và chuyển cho ssh qua cơ chế askpass khi kết nối. Trong lúc tunnel chạy, mật khẩu nằm trong biến môi trường của tiến trình ssh.
Chưa kiểm tra với máy chủ SSH thật
Phần chuyển mật khẩu mới được kiểm tra đến bước app in mật khẩu cho ssh. OpenSSH có sẵn trên Windows 10 có thể là bản cũ chưa hỗ trợ SSH_ASKPASS_REQUIRE. Nên dùng khóa nếu có thể.
Profile SSH
Nhập thông tin rồi bấm Keep as a Profile để lưu theo tên. Lần sau chọn profile để điền host, port, user và khóa. Profile không lưu mật khẩu.
SOCKS5
Chọn Connect through a SOCKS5 proxy rồi điền host, cổng và thông tin đăng nhập nếu có. App mở một cổng cục bộ và chuyển dữ liệu qua proxy, nên mọi driver đều dùng được. Tên máy database do proxy phân giải.
Lệnh tunnel
Dùng khi có công cụ riêng như cloudflared. Nhập lệnh với {port} là cổng trống do app chọn, ví dụ:
text
cloudflared access tcp --hostname db.example.com --url 127.0.0.1:{port}App chạy lệnh đó, đợi đến khi cổng mở, rồi kết nối tới 127.0.0.1:{port}. Lệnh chạy trực tiếp, không qua shell, và dừng khi đóng kết nối. Dấu ngoặc kép giữ được khoảng trắng trong một tham số.
Bảo mật
Lệnh chạy với quyền của bạn. Vì vậy app không bao giờ nhập lệnh tunnel từ file, kể cả file export của chính nó.
TLS khi đi qua tunnel
Qua tunnel, kết nối đi tới 127.0.0.1, nên chế độ Verify có thể báo sai tên chứng chỉ. Với SSH, mức Prefer được chuyển thành Off vì đoạn đường đã được SSH mã hóa.
