Điểm:0

Tại sao tôi có thể SSH một máy từ xa ngay cả khi dùng sai phím?

lá cờ fr

Sự miêu tả: Tôi đã tạo một kết nối ssh giữa PC Windows của mình và Raspberry Pi. Để làm như vậy, tôi đã làm theo các bước sau:

Bước 1: Bằng cách nào đó lấy địa chỉ IP của Raspberry Pi. Nó phải giống như thế này: 192.168.1.52

Bước 2: Mở Shell và truy cập Raspberry Pi qua ssh:

ssh [email protected]

Bạn sẽ cần mật khẩu.

Bước 3: Trong thư mục chính của máy tính từ xa, hãy sử dụng các lệnh sau:

mkdir .ssh

Bước 4: Bảo mật kết nối ssh thông qua khóa riêng/công khai. Trong máy tính cục bộ, sử dụng các lệnh này:

ssh-keygen -f .ssh/fede_windows -t rsa -b 4096

Nếu máy cục bộ của bạn dựa trên Linux, hãy chạy dòng này:

chmod 600 .ssh/fede_windows # nếu linux

Cuối cùng:

scp .ssh/fede_windows.pub [email protected]:.ssh

Bước 5: Trong máy tính từ xa, hãy sử dụng các lệnh sau:

sudo nano /etc/ssh/sshd_config

và sửa đổi các dòng sau của tệp cấu hình:

ChallengeResponseXác thực không
Mật khẩu Xác thực không
Sử dụngPAM không

Cuối cùng:

Sudo systemctl tải lại sshd

Bước 6: Trong máy tính từ xa, sử dụng các lệnh sau:

mèo ~/.ssh/fede_windows.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/*

Bước 7: Trong máy tính cục bộ, hãy chạy lệnh này để đăng nhập vào máy tính từ xa:

ssh -i .ssh/fede_windows [email protected]

Vấn đề: Khi tôi thực hiện lại tất cả các bước này trong PC Ubuntu của mình bằng cách tạo khóa có tên fede_ubuntu lần này, có vẻ như tôi có thể ssh Raspberry Pi của mình bất kể tôi chèn gì vào lệnh:

ssh -i .ssh/fede_xyz [email protected]

Nó hoạt động mọi lúc và điều này không nên xảy ra vì nó chỉ nên được giới hạn ở khóa tôi vừa tạo. Nếu tôi chuyển sang máy Windows của mình, mọi thứ sẽ hoạt động như mong đợi và chỉ khi tôi chỉ định đúng phím mới hoạt động.

Câu hỏi: Bạn có thể đề xuất một lý do có thể có của vấn đề này và cách khắc phục không?

CHỈNH SỬA: Bằng cách gõ lệnh sau ssh -i .ssh/key_that_does_not_exits -v [email protected] Tôi có:

Cảnh báo: Không thể truy cập tệp nhận dạng .ssh/key_that_does_not_exits: Không có tệp hoặc thư mục như vậy.
OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 tháng 3 năm 2020
debug1: Đọc dữ liệu cấu hình /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config dòng 19: bao gồm /etc/ssh/ssh_config.d/*.conf không khớp với tệp nào
debug1: /etc/ssh/ssh_config dòng 21: Áp dụng tùy chọn cho *
debug1: Đang kết nối với cổng 192.168.1.52 [192.168.1.52] 22.
debug1: Đã thiết lập kết nối.
debug1: tệp nhận dạng /home/federico/.ssh/id_rsa type -1
debug1: tệp nhận dạng /home/federico/.ssh/id_rsa-cert loại -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_dsa loại -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_dsa-cert loại -1
debug1: tệp nhận dạng /home/federico/.ssh/id_ecdsa gõ -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ecdsa-cert loại -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ecdsa_sk gõ -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ecdsa_sk-cert loại -1
debug1: tệp nhận dạng /home/federico/.ssh/id_ed25519 gõ -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ed25519-cert loại -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ed25519_sk loại -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_ed25519_sk-cert loại -1
debug1: tệp nhận dạng /home/federico/.ssh/id_xmss gõ -1
gỡ lỗi1: tệp nhận dạng /home/federico/.ssh/id_xmss-cert loại -1
debug1: Chuỗi phiên bản cục bộ SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3
debug1: Giao thức từ xa phiên bản 2.0, phiên bản phần mềm từ xa OpenSSH_7.9p1 Raspbian-10+deb10u2+rpt1
debug1: match: OpenSSH_7.9p1 Raspbian-10+deb10u2+rpt1 pat OpenSSH* tương thích 0x04000000
debug1: Xác thực 192.168.1.52:22 là 'pi'
gỡ lỗi1: Đã gửi SSH2_MSG_KEXINIT
gỡ lỗi1: Đã nhận được SSH2_MSG_KEXINIT
gỡ lỗi1: kex: thuật toán: đường cong25519-sha256
debug1: kex: thuật toán khóa máy chủ: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> nén: không có
debug1: kex: client->server cipher: [email protected] MAC: <implicit> nén: không có
gỡ lỗi1: mong đợi SSH2_MSG_KEX_ECDH_REPLY
debug1: Khóa máy chủ của máy chủ: ecdsa-sha2-nistp256 SHA256:hC5w2kDxgHH5eFRY1vOJaS7ipPR+8OWX2tkkEZbF194
debug1: Máy chủ '192.168.1.52' đã được xác định và khớp với khóa máy chủ ECDSA.
debug1: Đã tìm thấy khóa trong /home/federico/.ssh/known_hosts:1
debug1: thoát ra sau 134217728 khối
gỡ lỗi1: Đã gửi SSH2_MSG_NEWKEYS
gỡ lỗi1: mong đợi SSH2_MSG_NEWKEYS
gỡ lỗi1: Đã nhận được SSH2_MSG_NEWKEYS
debug1: nhập lại sau khối 134217728
gỡ lỗi1: Sẽ thử khóa: federico@federico RSA SHA256:E96Hu2Ee+IyAuoZ06GxTvo+ZmAkzqfihbAKkFqxU1AU tác nhân
debug1: Sẽ thử khóa: /home/federico/.ssh/id_rsa 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_dsa 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_ecdsa 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_ecdsa_sk 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_ed25519 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_ed25519_sk 
debug1: Sẽ thử khóa: /home/federico/.ssh/id_xmss 
gỡ lỗi1: Đã nhận được SSH2_MSG_EXT_INFO
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2 -nistp521>
gỡ lỗi1: Đã nhận được SSH2_MSG_SERVICE_ACCEPT
debug1: Xác thực có thể tiếp tục: publickey,keyboard-interactive
debug1: Phương thức xác thực tiếp theo: publickey
gỡ lỗi1: Cung cấp khóa chung: federico@federico RSA SHA256:E96Hu2Ee+IyAuoZ06GxTvo+ZmAkzqfihbAKkFqxU1AU đại lý
debug1: Máy chủ chấp nhận khóa: federico@federico RSA SHA256:E96Hu2Ee+IyAuoZ06GxTvo+ZmAkzqfihbAKkFqxU1AU đại lý
debug1: Xác thực thành công (khóa công khai).
Đã xác thực thành 192.168.1.52 ([192.168.1.52]:22).
debug1: kênh 0: [phiên khách hàng] mới
debug1: Yêu cầu [email protected]
debug1: Đang vào phiên tương tác.
gỡ lỗi1: cam kết: mạng
gỡ lỗi1: client_input_global_request: rtype [email protected] muốn_reply 0
gỡ lỗi1: Điều khiển từ xa: /home/pi/.ssh/authorized_keys:2: tùy chọn chính: chuyển tiếp tác nhân chuyển tiếp cổng pty người dùng-rc x11 chuyển tiếp
gỡ lỗi1: Điều khiển từ xa: /home/pi/.ssh/authorized_keys:2: tùy chọn chính: chuyển tiếp tác nhân chuyển tiếp cổng pty người dùng-rc x11 chuyển tiếp
debug1: Gửi môi trường.
debug1: Đang gửi env LC_ADDRESS = it_IT.UTF-8
debug1: Đang gửi env LC_NAME = it_IT.UTF-8
debug1: Đang gửi env LC_MONETARY = it_IT.UTF-8
debug1: Đang gửi env LC_PAPER = it_IT.UTF-8
debug1: Đang gửi env LANG = en_US.UTF-8
debug1: Đang gửi env LC_IDENTIFICATION = it_IT.UTF-8
debug1: Đang gửi env LC_TELEPHONE = it_IT.UTF-8
debug1: Đang gửi env LC_MEASUREMENT = it_IT.UTF-8
debug1: Đang gửi env LC_TIME = it_IT.UTF-8
debug1: Đang gửi env LC_NUMERIC = it_IT.UTF-8
Lần đăng nhập cuối cùng: Chủ nhật ngày 22 tháng 8 22:26:00 năm 2021 từ 192.168.1.197
lá cờ cc
Có thể chọn một tệp nhận dạng trên mỗi máy chủ lưu trữ từ cấu hình của bạn - bạn được phép sử dụng nhiều tệp.
Federico Gentile avatar
lá cờ fr
@ubfan1 cảm ơn vì nhận xét của bạn! bạn có thể xây dựng thêm một chút xin vui lòng? thực tế mà nói, tôi nên thay đổi những gì trong tệp cấu hình?
Điểm:4
lá cờ om

Lệnh mèo ~/.ssh/fede_windows.pub >> ~/.ssh/authorized_keys nối thêm chìa khóa để ủy quyền_keys, nó không thay thế những gì đã có.

Đến thay thế tất cả các phím cũ, chạy mèo foobar.pub > ~/.ssh/authorized_keys. Thao tác này sẽ cắt bớt tệp và sau đó thêm thông tin mới.

Bạn có thể thêm bao nhiêu phím tùy thích. Để kiểm tra, chỉ cần mở tệp bằng trình soạn thảo văn bản và xem nội dung.

Khả năng có nhiều khóa thực sự là một tính năng bảo mật. Điều đó có nghĩa là bạn có thể sử dụng các khóa khác nhau từ các máy tính khác nhau và nếu máy tính bị mất, bạn chỉ phải xóa các khóa bị xâm phạm chứ không phải tất cả các khóa.

Federico Gentile avatar
lá cờ fr
Cảm ơn câu trả lời của bạn! Chà, ý tưởng của tôi là giữ cả hai phím, tôi không muốn xóa phím windows vì tôi vẫn muốn sử dụng nó khi sử dụng máy Windows của mình. Nếu tôi sử dụng lệnh của bạn, tôi sẽ xóa phím windows và thay thế bằng phím Ubuntu phải không?
vidarlo avatar
lá cờ om
Sau đó không làm gì cả. Bạn có thể thêm và xóa khóa bao nhiêu lần tùy thích.
Federico Gentile avatar
lá cờ fr
xin lỗi nhưng điều này làm tôi bối rối. Nếu tôi không làm gì, thì tôi vẫn gặp sự cố là vì một số lý do không rõ, tôi có thể ssh từ máy Ubuntu ngay cả khi nhập sai khóa. Làm thế nào là câu trả lời của bạn giải quyết vấn đề của tôi?
vidarlo avatar
lá cờ om
`>>` *thêm* nội dung vào tệp. Bạn đã thêm cả hai khóa. Mở tệp trong trình soạn thảo văn bản và kiểm tra tệp; nó sẽ hiển thị cả hai phím. Loại bỏ một trong những bạn không muốn.
Federico Gentile avatar
lá cờ fr
mmm... tôi đã kiểm tra tệp và tôi có 2 khóa: 1 cho PC Windows của tôi (cái mà tôi vẫn muốn sử dụng để ssh vào quả mâm xôi của mình) và 1 cho PC Ubuntu của tôi (cái mà tôi cũng muốn giữ để ssh vào quả mâm xôi của mình) . Khi tôi có cả hai, về cơ bản tôi có thể ssh vào đêm trước quả mâm xôi của mình bằng các khóa không tồn tại. Ví dụ: nếu tôi gõ "ssh -i .ssh/key_that_does_not_exist [email protected]" thì nó sẽ tự động truy cập mâm xôi! Điều này là không thể
vidarlo avatar
lá cờ om
Chỉnh sửa câu hỏi của bạn với đầu ra là `ssh -v user@host` để xem khóa nào thực sự được gửi.
Federico Gentile avatar
lá cờ fr
Tôi đã thêm đầu ra theo đề xuất :)
vidarlo avatar
lá cờ om
Nó chọn khóa đã sử dụng trước đó từ [`ssh-agent`](https://en.wikipedia.org/wiki/Ssh-agent).
Federico Gentile avatar
lá cờ fr
oh tôi thấy rất thực tế nói những gì tôi nên sửa đổi? Một cái gì đó trong sshd_config?
vidarlo avatar
lá cờ om
Tại sao bạn muốn sửa đổi nếu nó hoạt động như bạn muốn?
Federico Gentile avatar
lá cờ fr
Nhưng nếu tôi có thể ssh ngay cả với các khóa không tồn tại thì điều đó cực kỳ nguy hiểm vì điều đó có nghĩa là tôi hoàn toàn không cần khóa. Đây là vấn đề trong câu hỏi của tôi: "Tại sao tôi có thể SSH một máy từ xa ngay cả khi nhập sai phím?" Máy Windows của tôi có thể ssh chính xác. Máy Ubuntu của tôi có thể ssh ngay cả với các phím sai hoặc không tồn tại. Và điều này không nên xảy ra.
vidarlo avatar
lá cờ om
Bởi vì ssh-agent lưu trữ khóa và sử dụng nó để xác thực. https://stackoverflow.com/questions/25464930/how-can-i-remove-an-ssh-key

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.