Tạo private key cho ssh và kết nối xác thực tự động không cần nhập mật khẩu
Khi kết nối ssh giữa 2 server thì chúng ta yêu cầu nhập password máy khách để ssh client đăng nhập, một số tiến trình sao chép tự động yêu cầu password phải được xác nhận tự động mà không cần sự can thiệp của người dùng => lúc này chúng ta cần sử dụng ssh key để 2 máy tính hiểu nhau và xác nhận cho nhau vào tự động.
ssh key thông thường được lưu trong thư mục home/user/.ssh của user hiện tại đang thực hiện đăng nhập
Tạo ssh-key:
ssh-keygen
Bạn có thể nhập thông tin passphrase hoặc không thì hệ thống tạo theo thông tin mặc định
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Sau khi chạy xong lệnh trên => trong thư mục .ssh sẽ xuất hiện thêm 2 file chứa mã key của ssh theo mặc định là: id_rsa, id_rsa.pub
Để sử dụng ssh key mà không cần password xác nhận khi kết nối thì chúng ta phải copy ssh key vừa tạo từ máy nguồn này sang máy đích cần kết nối đến (chú ý là khi copy xong thì kết nối có hiệu lực 2 chiều nghĩa là khi copy từ máy A sang máy B => máy A sẽ ssh vào B tự động và ngược lại B cũng ssh vào A tự động mà không hỏi password)
Lệnh như sau:
cd
ssh-copy-id remote_server_user@remote_server_ip ssh-copy-id oracle@192.168.68.11
=>> lệnh này sẽ copy ssh key từ server nguồn sang server đích và hệ thống sẽ lưu trữ tự động ssh key này trong thư mục .ssh nằm trong home của user kết nối đến, nếu server đích là user root thì sẽ lưu trong /root, các user khác thì sẽ trong thư mục /home/user_name
Bây giờ, chúng ta thử test ssh lại từ 2 server với nhau và sẽ không cần nhập mật khẩu nữa
ssh remote_server_user@remote_server_ip
=>> hệ thống đã tự động login mà không cần hỏi mật khẩu xác nhận.