Tạo khóa ssh:
Lệnh:
ssh-keygen -t rsa –P ""
Di chuyển khóa sang khóa ủy quyền:
Lệnh:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Tạo khóa ssh:
Lệnh:
ssh-keygen -t rsa –P ""
Di chuyển khóa sang khóa ủy quyền:
Lệnh:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Câu trả lời:
Bạn phải tạo .ssh
thư mục và authorized_keys
tập tin lần đầu tiên.
Tạo .ssh
thư mục:
mkdir ~/.ssh
Đặt quyền:
chmod 700 ~/.ssh
Tạo authorized_keys
tập tin:
touch ~/.ssh/authorized_keys
Đặt quyền:
chmod 600 ~/.ssh/authorized_keys
Các quyền là quan trọng! Nó sẽ không hoạt động mà không có sự cho phép đúng!
Bây giờ bạn có thể thêm khóa công khai vào authorized_keys
tệp:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Bạn phải thêm khóa chung của máy tính vào authorized_keys
tệp của máy tính bạn muốn truy cập bằng Khóa SSH !
Như terdon đã đề cập, bạn cũng có thể sử dụng lệnh này:
ssh-copy-id user@host
Điều này sẽ đặt id_rsa.pub
(trong ~/.ssh
thư mục của bạn ) vào authorized_keys
tệp của máy tính từ xa , tạo .ssh
thư mục và authorized_keys
tệp với quyền phù hợp nếu cần.
cat
nó, đó là những gì ssh-copy-id
dành cho.
Trong trường hợp bạn đã được gửi khóa công khai trong email để cài đặt đến máy chủ từ xa:
1) SSH vào máy chủ. Tôi đã sử dụng PuTTY trên Windows.
2) Cài đặt khóa:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Hãy cẩn thận để sao chép chính xác khóa và dán nó vào một dòng mới trong cửa sổ soạn thảo. Xác nhận rằng nó chiếm một dòng duy nhất và lưu.
chmod 600 ~/.ssh/authorized_keys
Vì tôi không có đủ danh tiếng, tôi sẽ thêm điều này vào đây. Ngoài câu trả lời của Louis Matthijssen nếu bạn vẫn không thể đăng nhập thông qua ssh với tư cách là người dùng mà bạn đã tạo, như
ssh username@host
thì điều này có thể là do không có sự cho phép của chủ sở hữu mà bạn phải thêm vào thư mục /home/username/.ssh của bạn. Tôi đã có cùng một vấn đề và bạn có thể cho phép như:
chown -R username:username /home/username/.ssh
Điều này có thể xảy ra đơn giản vì bạn đang tạo thư mục và đặt quyền là root , nhưng không phải là tên người dùng bạn muốn truy cập máy chủ.
Hy vọng điều này sẽ giúp được ai đó.
Điều này cũng có thể thất bại nếu, khi tạo khóa với ssh-keygen
, bạn đặt cho nó một tên tệp. Tôi đã nhập một số tên my-ssh-file-name
, và nó đã viết chìa khóa /Users/MyUserName
thay vì .ssh
thư mục. Nếu bạn để trống tên tệp, nó sẽ ghi vào .ssh
như mong đợi.
~/.ssh/authorized_keys
là khóa của các máy tính khác mà bạn đã kết nối / tin cậy, không phải khóa riêng của bạn .