2013-08-14 30 views
9

Tôi hoàn toàn mới với Capistrano và Ruby, và tôi dường như không thể thiết lập triển khai cơ bản. Mỗi lần tôi chạy nắp triển khai: kiểm tra tôi nhận được lỗi sau:Lỗi Capistrano - Net :: SSH :: HostKeyMismatch

servers: ["domain.com"] connection failed for: [email protected] (Net::SSH::HostKeyMismatch: fingerprint 0c:de:d4: 1b:e9:64:83:3a:8b:d7:c3:42:98:5b:5d:8c does not match for "[domain.com]:22,[62.39.11.2]:22" )

deploy.db của tôi trông như thế này:

set :stages, %w(production staging) 
set :default_stage, "staging" 
require 'capistrano/ext/multistage' 

set :application, "captest" # TODO 
set :repository, "[email protected]:jy312/captest.git" # TODO 
set :scm, :git 
set :use_sudo, false 

ssh_options[:forward_agent] = true 
default_run_options[:pty] = true 
set :deploy_via, :remote_cache 
set :copy_exclude, [".git", ".DS_Store", ".gitignore", ".gitmodules"] 
set :git_enable_submodules, 1 

Tôi đã thử thêm các máy tính địa phương của tôi khóa công khai (id_rsa.pub) vào danh sách các known_host trên máy chủ của tôi mà không có may mắn.

Mọi đề xuất sẽ được đánh giá rất nhiều. Cảm ơn rất nhiều vì đã giúp đỡ.

Trả lời

27

Dấu vân tay của máy chủ đích không khớp với những gì có trong tệp known_hosts cục bộ của bạn. Xóa mục nhập hiện có trong tệp known_hosts cục bộ của bạn.

Bạn cũng có thể thử khắc phục sự cố bằng cách trực tiếp SSH'ing tới máy chủ thay vì chuyển qua ruby ​​vì đây là sự cố SSH.

+0

này đã làm việc một cách hoàn hảo. Cảm ơn rất nhiều vì đã giúp đỡ. – jg314

8

hoặc chỉ viết lại nó bằng cách (USERNAME thay đổi và chỉ IP của máy chủ của bạn):

$ ssh-keygen -f "/home/USERNAME/.ssh/known_hosts" -R 178.X.X.X 

sau đó nhập vào máy chủ

$ ssh [email protected] 

và trả lời yes

retry triển khai

chúc may mắn;)

4

Kịch bản: SSH từ máy nguồn đến máy đích

nếu kịch bản ở trên ném Net :: SSH :: HostKeyMismatch, sau đó làm dưới đây,

1) Login to source machine and sudo su <User> 
2) ssh destination machine 
3) in step2, HostKeyMismatch error will be displayed and also the known hosts location. 

or 

2) cd ~ 
3) cd .ssh 
4) vim known_hosts 
5) clear the content of the file and save and quit (using command - :wq) 

này nên giải quyết vấn đề.

Các vấn đề liên quan