Sách hướng dẫn sử dụng Berth
SFTP · Terminal · Console nối tiếp trong một cửa sổ — từ cách thêm máy chủ đến phím tắt
🚀Bắt đầu
Bố cục màn hình
Một cửa sổ có bốn khu vực.
- Thanh bên trang — bên trái. Máy chủ · console nối tiếp và thư mục được hiển thị dạng cây.
- Cột phiên — các phiên đã kết nối. Dải màu cho biết đó là máy chủ nào.
- Khu vực làm việc — phía trên là bảng tệp (cục bộ · máy chủ), phía dưới là Terminal. Kéo đường phân chia để đổi tỉ lệ.
- Thanh trạng thái — dưới cùng. Cho biết việc gì đang diễn ra.
Thêm máy chủ đầu tiên
- Nhấp chuột phải vào khoảng trống trên thanh bên, hoặc nhấn ⌘N.
- Nhập tên và địa chỉ máy chủ. Bỏ trống người dùng · cổng thì dùng giá trị mặc định.
- Nhấp đúp vào một mục trong danh sách để kết nối. Nhấp một lần là để chọn.
ssh alias trong Terminal thì không cần khai báo lại gì cả.
Trong menu thanh bên, chọn Nhập từ ~/.ssh/config(⌘⇧I) để nhập vào một lần.
Bạn cũng có thể nhập danh sách trang của FileZilla.Đổi ngôn ngữ
Trong menu Berth › Cài đặt(⌘,), chọn một trong 20 ngôn ngữ. Mặc định là theo ngôn ngữ hệ thống, và ngôn ngữ đã chọn chỉ áp dụng cho ứng dụng này. Thay đổi có hiệu lực sau khi khởi động lại ứng dụng.
🗂Máy chủ và thư mục
Gộp bằng thư mục và kế thừa cài đặt
Khi gộp máy chủ bằng thư mục(⌘⇧N), cài đặt sẽ truyền xuống dưới. Chỉ cần đặt tên người dùng hay cấp cảnh báo một lần trên thư mục là mọi máy chủ bên trong đều theo. Đây là cơ chế để bạn không phải nhập cùng một giá trị hai mươi lần cho hai mươi máy chủ.
Mỗi ô trong cửa sổ cài đặt cho biết giá trị đó đến từ đâu (bạn tự đặt, hay kế thừa từ thư mục nào) ngay bên dưới, và nút hoàn tác sẽ đưa nó về lại giá trị kế thừa.
Cấp cảnh báo — Phát triển · Staging · Vận hành
Cấp vượt trên màu. Đặt thành Vận hành thì các thao tác nguy hiểm sẽ hỏi xác nhận thêm. Trong danh sách phiên, nó được tô bằng màu bạn chọn và đánh dấu viền đỏ, nên nhiều máy chủ vận hành vẫn phân biệt được bằng màu. Ở nơi chỉ hiện một cái mỗi lần (hộp thoại xác nhận…), nó vẫn đỏ như một cảnh báo mạnh.
Quy tắc nhấp chuột
- Nhấp một lần — chọn (để xem hoặc di chuyển cài đặt)
- Nhấp đúp — máy chủ thì kết nối, thư mục thì mở/đóng
- Nhấp một lần vào hình tam giác trước thư mục để mở ra.
🔑Kết nối và xác thực
Khi kết nối lần đầu — quyền truy cập thư mục
Berth tuân theo quy tắc của App Store (sandbox) nên không tự ý đọc thư mục Home. Khi bạn mở một máy
chủ lần đầu, ứng dụng sẽ hỏi bạn chọn một lần thư mục chứa cấu hình SSH, khóa, known_hosts
(thường là ~/.ssh). Chọn một lần thì Berth sẽ nhớ và không hỏi lại. Nếu bạn để khóa ở nơi
khác, chọn thư mục Home cũng được.
Vì cùng lý do đó, bảng tệp cục bộ cũng lấy thư mục bạn đã chọn làm gốc — bạn có thể đổi bằng Mở thư mục cục bộ… ở đầu bảng, và lựa chọn này cũng được ghi nhớ.
Đọc ~/.ssh/config
Khi kết nối bằng bí danh, Berth đọc và dùng host · cổng · người dùng · tệp khóa ·
ProxyJump · StrictHostKeyChecking của mục đó. Nếu cổng đã lưu bị cũ, tệp cấu hình vẫn thắng.
ProxyCommand mở một chương trình
ngoài nên bị sandbox chặn — với host trung gian hãy khai báo bằng ProxyJump.
ssh-agent cũng không thể truy cập được, nên Berth đọc trực tiếp tệp khóa, và với khóa
có cụm mật khẩu thì sẽ hỏi cụm mật khẩu khi kết nối.Phương thức xác thực
- Tự động — giao cho ssh xử lý. Thử lần lượt các khóa mặc định, không được thì hỏi mật khẩu trong Terminal.
- Tệp khóa — chỉ dùng đúng một khóa đã chỉ định.
- Mật khẩu — bỏ qua khóa.
ssh đơn giản trong Terminal thì Tự động là đúng.
Chỉ định khóa vì nghĩ sẽ có ích lại khiến kết nối bị chặn — vì khi đó chỉ khóa đã chỉ định mới được thử.Khi máy chủ hỏi
Lưu mật khẩu thì khi kết nối, Berth sẽ tự trả lời thay bạn một lần. Các câu hỏi khác — mã xác thực hai bước, gõ lại mật khẩu sai, cụm mật khẩu của khóa có cụm mật khẩu — sẽ hiện nguyên văn câu hỏi máy chủ gửi trong cửa sổ "Máy chủ đang hỏi" để bạn tự trả lời. Để tránh khóa tài khoản, mật khẩu đã lưu chỉ được tự động điền một lần, và chỉ hỏi tối đa ba lần.
Để khỏi phải gõ mật khẩu mỗi lần
Nhấp chuột phải vào máy chủ và chọn Đăng ký khóa công khai cho máy chủ này… để tải khóa
công khai trong ~/.ssh lên máy chủ. Từ lần sau sẽ kết nối bằng khóa.
Mật khẩu đã lưu chỉ nằm trong Keychain của macOS. Tệp cấu hình chỉ giữ dấu "đã lưu", không chứa giá trị thật.
Máy chủ chưa từng gặp, khóa máy chủ đã đổi
Khi kết nối đến một máy chủ lần đầu, Berth hiển thị loại và vân tay của khóa rồi hỏi có ghi
nhớ không. Nếu ghi nhớ, khóa sẽ được thêm vào ~/.ssh/known_hosts theo đúng khuôn dạng của
ssh, nên từ lần sau sẽ không hỏi lại.
Cửa sổ này cũng hiện ra khi danh tính máy chủ khác với lần trước. Đây có thể là tấn công
xen giữa, cũng có thể là do máy chủ vừa được cài lại. Berth không tự phán đoán mà chỉ đưa ra dữ
liệu — loại và vân tay của khóa cũ/mới, cùng lệnh để đối chiếu trực tiếp trên console của thiết
bị. Sau khi xác minh, nhấn "Xóa khóa cũ và ghi nhớ khóa mới" sẽ xóa mục cũ (sao lưu vào
known_hosts.old) và ghi lại khóa mới.
known_hosts. Không thể bật ở cấp Vận hành.Bảng tệp (SFTP)
Tải lên, tải xuống
Bên trái là Mac của bạn, bên phải là máy chủ. Kéo thả, hoặc dùng ⌥⌘→(tải lên) · ⌥⌘←(tải xuống) để gửi tệp. Tiến trình được xếp trong dòng truyền tệp.
Bảng tệp theo dõi Terminal
Khi bạn gõ cd trong Terminal, bảng từ xa sẽ theo sang đúng thư mục đó. Khi việc theo dõi
này gây vướng, hãy tắt bằng ⌘⇧L.
Nơi hay đến · Cách xem
- ⌘D — ghim hoặc bỏ ghim đường dẫn hiện tại. Đường dẫn đã ghim trở thành gốc của cây.
- ⌘↓ — đi sâu vào thư mục đã chọn. ⌘↑ để lùi lại một bước.
- ⌥⌘T — chuyển đổi chế độ xem cây ↔ danh sách. Thư mục có hàng nghìn tệp nên dùng danh sách.
- ⌘R — đọc lại.
- ⌘⇧F — Tìm trên máy chủ. Không phải ứng dụng duyệt qua danh sách mà máy chủ trực tiếp chạy
find.
Xem khác biệt
Bật bằng ⌘⇧Y để đặt cục bộ và máy chủ cạnh nhau, hiển thị phần khác nhau · phần chỉ có ở một bên. Dùng khi bạn chỉ muốn gửi những gì cần thiết.
Xóa
⌘⌫ mặc định là chuyển vào Thùng rác trên máy chủ và luôn xin xác nhận. Với máy chủ đã tắt Thùng rác, Berth báo trước rằng thao tác này không thể hoàn tác.
⌨️Terminal
Đây là một shell thật, nơi vim · tmux · less chạy bình thường. Kéo chuột để chọn và dùng ⌘C để sao chép — lệnh được dán gọn gàng, không kèm khoảng trắng đệm ở cuối dòng.
Xác nhận khi dán
Khi dán nhiều dòng, Berth hiển thị trước những gì sẽ chạy. Vì nội dung dán có xuống dòng sẽ ngay lập tức trở thành lệnh được thực thi. Những gì trông nguy hiểm sẽ được đánh dấu kèm lý do.
Phóng to xem
⌘↩ phóng to khu vực hiện tại, nhấn lại để trở về. ⌥⌘↩ chỉ phóng to riêng một bảng. Cỡ chữ dùng ⌘+ · ⌘- · ⌘0. Xóa nội dung terminal bằng ⌘L — màn hình và lịch sử cuộn bị xóa, chỉ còn lại dòng nhắc hiện tại.
🔌Console nối tiếp (UART)
Chọn thiết bị
Dùng ⌃⌘N để thêm một console nối tiếp, rồi chọn thiết bị đang cắm trong cài đặt. Berth ghi nhớ thiết bị chứ không phải đường dẫn — theo số sê-ri nếu có, theo loại nếu không. Cắm vào cổng USB khác thì vẫn tìm ra đúng thiết bị đó.
Tốc độ và cài đặt đường truyền
Chọn tốc độ từ danh sách hoặc nhập trực tiếp (kể cả giá trị ngoài chuẩn như 1.500.000 — miễn là adapter chấp nhận được giá trị đó). Mặc định là 8N1 · không kiểm soát luồng, phù hợp với hầu hết console.
- Kiểm soát luồng — chỉ bật khi dùng cáp 4 dây (RTS/CTS). Bật trên cáp 3 dây sẽ gây tắc nghẽn.
- Nâng cao (Parity · bit) — nhấp vào dòng để mở rộng. Chỉ cần khi khác chuẩn, như bootloader STM32 (8E1).
Bảng ghi
Trong phiên console nối tiếp, lệnh bạn gõ và phản hồi nhận được được xếp bên phải kèm thời gian. Nội dung gõ tại chỗ hỏi mật khẩu sẽ được che đi.
⚡Phím tắt
Phím tắt của ứng dụng luôn có ⌘. Tổ hợp với ⌃ · ⌥ thuộc về shell và TUI (vim · tmux) nên ứng dụng không chiếm dụng.
| Phím | Chức năng |
|---|---|
| ⌘N · ⌃⌘N · ⌘⇧N | Thêm máy chủ · Thêm console nối tiếp · Tạo thư mục |
| ⌘I · ⌘⇧I | Cài đặt máy chủ này · Nhập từ ~/.ssh/config |
| ⌘K | Đi đến đâu — tìm theo tên và chuyển ngay |
| ⌘1 … ⌘9 | Chuyển phiên |
| ⌃⌘← → ↑ ↓ | Di chuyển giữa các bảng |
| ⌘↩ · ⌥⌘↩ | Phóng to / Thu về · Chỉ phóng to bảng này |
| ⌘⇧S · ⌥⌘↑ ⌥⌘↓ | Thanh bên · Kéo đường phân chia |
| ⌥⌘→ · ⌥⌘← | Tải lên · Tải xuống |
| ⌘D · ⌘R · ⌥⌘N | Ghim/Bỏ ghim · Đọc lại · Thư mục mới |
| ⌘↓ · ⌘↑ · ⌥⌘T | Đi sâu vào · Lùi lại · Cây ↔ danh sách |
| ⌘⌫ · ⌘⇧F | Xóa trên máy chủ · Tìm trên máy chủ |
| ⌘⇧V · ⌘⇧L · ⌘⇧Y | Gửi đường dẫn sang Terminal · Theo dõi Terminal · Hiện khác biệt |
| ⌘+ ⌘- ⌘0 · ⌘⇧W | Cỡ chữ · Đóng phiên này |
| ⌘L · ⌘] ⌘[ | Xóa terminal · Chuyển tab bảng bên phải |
| ⌘C · ⌘⇧P · ⌘⇧U · ⌘? | Sao chép · Lưu vào bản ghi · Gửi lại manifest · Hướng dẫn |
❓Câu hỏi thường gặp
Mật khẩu được lưu ở đâu?
Chỉ được lưu trong Keychain của macOS. Tệp cấu hình chỉ giữ dấu "đã lưu". Keychain chỉ được mở đúng một lần vào lúc kết nối.
Có thu thập lịch sử sử dụng không?
Không. Ứng dụng không có bất kỳ hình thức đo lường nào bên trong. Berth không đếm bạn mở gì hay kết nối vào đâu.
Console nối tiếp bị dừng giữa chừng.
Đây là đặc tính của đường truyền khi UART không có kiểm soát luồng phải xử lý lưu lượng lớn. Nếu là cáp 4 dây, hãy bật kiểm soát luồng (RTS/CTS) trong cài đặt; nếu là cáp 3 dây, hãy hạ tốc độ phía bo mạch hoặc chia nhỏ đầu ra theo từng đoạn.
Có phải khai báo lại cấu hình SSH đang dùng không?
Không cần. Khi nhập từ ~/.ssh/config, Berth kết nối đúng bằng bí danh đó, và đọc host ·
cổng · người dùng · khóa · ProxyJump của mục đó để dùng.
Tôi có một cấu hình dùng ProxyCommand.
ProxyCommand mở một chương trình ngoài nên không thể dùng trong sandbox của App Store. Nếu
cấu hình của bạn đi qua một host trung gian, chuyển sang ProxyJump là dùng được ngay như cũ.
ssh-agent cũng không dùng được vì lý do tương tự; Berth đọc trực tiếp tệp khóa, và với khóa có cụm mật
khẩu thì sẽ hỏi cụm mật khẩu khi kết nối.
Phiên bản macOS được hỗ trợ là gì?
macOS 14 (Sonoma) trở lên, hỗ trợ cả Apple Silicon và Intel.
Nếu thấy hữu ích
Berth là ứng dụng miễn phí. Bạn có thể ủng hộ để giúp phát triển tiếp.