[SSH] Sử dụng “ssh-copy-id” đẩy public key sang remote

Như các bạn đã biết khi chúng ta khởi tạo SSH key thì chúng ta cần copy nội dung file public key vào file $HOME/.ssh/authorized_keys của máy remote để có thể bắt đầu kết nối bằng cặp key giữa 2 bên. Có nhiều cách để copy sang như dùng lệnh scp hay gởi mail hoặc mở nội dung file id_rsa.pub rồi copy nội dung paste vào $HOME/.ssh/authorized_keys là xong (mình thường dùng cách copy paste này nếu terminal cho copy).

Thế hôm nay, bên cạnh những phương pháp thao tác trên thì mình sẽ giới thiệu về một chương trình lệnh trên Linux là ‘ssh-copy-id’.

ssh-copy-id bản chất là một shell script sử dụng chương trình ssh đến máy tính remote và copy file public key mặc định đang có là $HOME/.ssh/id_rsa.pub hoặc $HOME/.ssh/id_dsa.pub sang thư mục $HOME/.ssh/ của máy remote và tự động copy nội dung public key đẩy vào file authorized_keys của máy remote, cuối cùng sẽ xoá file public key đi. Bạn cũng có thể chỉ định chính xác file public key để đẩy sang máy remote.

Cấu trúc lệnh ‘ssh-copy-id’ :

# ssh-copy-id user@domain.com
# ssh-copy-id user@192.168.1.1

 
– Option ‘-i‘, để chỉ định chính xác đường dẫn file public key mà bạn muốn đẩy sang remote server.

# ssh-copy-id -i /<đường dẫn đến public key> user@domain.com

 
– Tham số để chỉ định ra port SSH của máy remote là ‘-p‘ .

# ssh-copy-id '-p 2222 user@domain.com'
# ssh-copy-id '-p 2222 user@domain.com'

 
Sau cùng bạn nên kiểm tra file $HOME/.ssh/authorized_keys xem đã có nội dung public key chưa. Rồi bạn hãy thử SSH sang máy remote, nên nhớ đây mới chỉ là SSH key một chiều nếu bạn muốn từ Remote server thực hiện ssh ngược lại máy chủ hiện tại thì hãy làm điều tương tự từ máy Remote server.

Với các lệnh trên thì mình không cần đưa ra ví dụ thực hành cụ thể, các bạn có thể tự thực hành trực tiếp là sẽ hiểu.

Đây là một trong các output báo đã thành công khi sử dụng lệnh ‘ssh-copy-id’ :

Now try logging into the machine, with "ssh '-p 2222 root@192.168.1.1'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

 
Chúc các bạn thành công ! Nếu có thắc hay vấn đề gì cần trao đổi, đừng ngại ngùng comment dưới bài viết nhé. 😉

Previous article[Linux] Tìm hiểu tính năng của file /etc/nologin trên Linux
Next articleTuanmmt & Network
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !