Làm cách nào để xóa khóa vi phạm trong git khi bạn cố gắng thay đổi?


40

Tôi đã thực hiện hàng tấn tìm kiếm và thử nghiệm các giải pháp khác nhau, nhưng không thành công!

Khi tôi muốn đẩy mã của mình, tôi nhận được lỗi sau:

Warning: the ECDSA host key for 'git.mywebsite.ir' differs from the key for the IP address '164.138.23.11'
Offending key for IP in /home/alireza/.ssh/known_hosts:10
Matching host key in /home/alireza/.ssh/known_hosts:1
Are you sure you want to continue connecting (yes/no)? yes

Tôi nên làm gì để xóa tin nhắn này mỗi khi tôi thay đổi? Bất kỳ ý tưởng?

danh sách chính

Câu trả lời:


83

Nó nói rằng:

Khóa vi phạm cho IP trong /home/alireza/.ssh/ Unknown_hosts: 10

Vì vậy, vì một số lý do, bạn phải xóa dòng thứ 10 trong know_hosts.

Chạy lệnh này để xóa dòng thứ 10 trong know_hosts:

sed -i '10d' ~/.ssh/known_hosts

Hoặc dùng ssh-keygen

ssh-keygen -R git.mywebsite.ir

Trích dẫn từ người đàn ông

 -R hostname
         Removes all keys belonging to hostname from a known_hosts file.
         This option is useful to delete hashed hosts (see the -H option
         above).

6
ssh-keygen -R git.mywebsite.irgiải quyết vấn đề của tôi
ALH

không làm việc cho tôi, nó tiếp tục đặt câu hỏi.
Waruna Ranasinghe

2
sed -i '1d' ~ / .ssh / know_hosts hoặc xóa thủ công dòng số. đã làm việc cho tôi
Sumit Kumar Saha

Nếu bạn đang chạy cái này trong Terminal trên máy Mac, bạn sẽ phải thực hiện sed -i '' '10d' ~ / .ssh / know_hosts để tránh lỗi "ký tự phụ ở cuối lệnh l" vì nó yêu cầu một lỗi mở rộng được chỉ định.
Lu-ca

nếu bạn muốn xóa khóa dựa trên địa chỉ IP : ssh-keygen -R [ipaddress]:port. ví dụ về việc xóa khóa cho 192.168.0.1 trên cổng 3456:ssh-keygen -R [192.168.0.1]:3456
Oki Erie Rinaldi

0

Bạn phải chỉnh sửa tệp know_hosts của mình (nằm trong ~ / .ssh / unknown_hosts) và xóa một mục nhập được liên kết với địa chỉ này.


Địa chỉ IP này không tồn tại trong tệp know_hosts.
ALH

1
Đúng vậy, có lẽ có một mục với URL git.mywebsite.ir và một địa chỉ IP khác. Bạn nên xóa dòng này khỏi know_hosts và sau đó địa chỉ IP mới sẽ được liên kết với tên máy chủ này.
kulak

Không có gì là URL trang web của tôi trong tệp know_hosts. Tôi thậm chí không thể tìm thấy git trong tập tin. Bạn có thể nhìn vào bức tranh trên không?
ALH

0

Khi tôi nhận được tin nhắn:

Khóa vi phạm cho IP trong /home/myusername/.ssh/ Unknown_hosts: 12

Lưu ý số dòng - trong trường hợp của tôi - 12

Vì vậy, hãy mở tệp 'know_hosts' và xóa hàng thứ 12 .

Đối với tôi điều này đã giải quyết vấn đề.

Ps Lưu ý nếu bạn không thể tìm thấy thư mục .ssh - thư mục .ssh bị ẩn và để xem nó từ trình quản lý tệp - bạn phải "Hiển thị các tệp và thư mục ẩn". Trong Linux Mint (và có thể trong bản phân phối của bạn nữa) khi trong trình quản lý tệp - có một phím tắt để hiển thị / ẩn các thư mục ẩn -> Ctrl + H

Chúc mừng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.