2012-05-09 29 views
8

Giả sử Mysql -dbs và quản trị viên có dấu hiệu xấu để quên mật khẩu (hoặc đủ hoang tưởng muốn xác thực quảng cáo hơn, không chỉ mật khẩu). Có thể truy cập vào Mysql -root shell ví dụ theo cách mà Ssh-agent lưu trữ các khóa riêng và sau đó tôi chỉ có thể đăng nhập bằng "mysql -u root" (mà không cần nhập mật khẩu hoặc kết hợp khóa cá nhân và mật khẩu)?MySQL root-login với khóa riêng SSH?

Trả lời

7

Bạn chắc chắn có thể sử dụng xác thực khóa SSH thông thường để đăng nhập vào tài khoản shell của bạn và sau đó sử dụng tệp ~/.my.cnf với mật khẩu của bạn bên trong. Điều này sẽ được sử dụng theo mặc định bởi ứng dụng dòng lệnh mysql.

nội dung của nó nên là:

[client] 
user=the_user_name 
password=the_password 

Ghi chú rằng bất cứ ai có thể đọc tập tin này sẽ có thể sử dụng những thông tin quan trọng. Bảo vệ nó để chỉ có chủ sở hữu có thể đọc nó (và khóa thiết bị đầu cuối của bạn nếu bạn đi từ bàn phím của bạn).


Nếu bạn muốn xác thực dựa trên khóa trực tiếp, bạn cũng có thể sử dụng SSL client-certificate authentication. Bạn có thể tạo CA nhỏ của riêng mình và tự phát hành với các chứng chỉ ứng dụng khách này. Một số công cụ hỗ trợ điều này nếu bạn yêu cầu truy cập từ xa trực tiếp.

+1

+1. Tôi đã tự mình viết câu trả lời này. –

+0

..precisely, cảm ơn! Bên cạnh đó, tôi có một số ý tưởng như thiết lập những thứ ssh-fs với gpg, phải suy nghĩ cách bảo vệ tập tin cẩn thận (tôi đang sử dụng hệ thống chia sẻ) - có thể sử dụng nhiều cách xác thực để không thực sự quan trọng nếu mất mật khẩu , ý tưởng? Có lẽ đã quá tải, điều tra. – hhh

+1

Đó không nhất thiết phải làm việc với ssh-fs. Tệp này sẽ được máy khách 'mysql' sử dụng nếu chạy trên máy thực tế (và chỉ ở dạng không được mã hóa). (Bạn có thể tất nhiên gắn kết thư mục chủ từ xa với ssh-fs và sau đó chỉ định tệp cấu hình này với máy khách 'mysql' cục bộ của bạn, nhưng điều này có vẻ phức tạp). Giữ mật khẩu gốc mysql trong tệp này trong tài khoản gốc nếu bạn cần. Để truy cập từ xa, client-certs có thể là một lựa chọn tốt hơn (mặc dù nó có liên quan nhiều hơn về mặt quản lý). – Bruno

Các vấn đề liên quan