Необходимо заключить в кавычки и объявление и использование
path="/var/root/Documents/MyFile OG-v1.2.3.pkg"
scp "$path" Me@10.1.10.33:/Users/Me/Desktop
Если Вы не заключаете первое в кавычки, $path
будет содержать просто первую часть. Если Вы не заключаете второе в кавычки, scp
будет рассматривать каждую разделенную пробелом часть как аргумент.
(Я изменился $PATH
кому: $path
потому что $PATH
важная зарезервированная переменная, и Вы не должны использовать ее для общих целей.)
Сообщение говорит Вам все, что необходимо знать. Необходимо отредактировать файл, known_hosts
и удалите незаконный ключ, который был добавлен от предыдущей ОС.
Каждый раз, когда Вы устанавливаете другой дистрибутив, новый набор общедоступных/частных ключей SSH сгенерирован на хост.
Я обычно просто открываю файл в vim
и перейдите к номеру строки, это указано в сообщении об ошибке:
Оскорбление RSA вводит/home/fahim/.ssh/known_hosts:1
Номер строки был бы 1. Однажды в vim
, перейдите к номеру строки 1:1 и затем удалите его, dd. После того, как сделанный, сохраните файл: w.
Можно также программно удалить записи из файла, но быть осторожными, он удалит все соответствия для IP и/или имени хоста, в зависимости от которого метода Вы идете для.
$ ssh-keygen -R <hostname or IP>
Примечание: При рассмотрении сообщения, оно говорит Вам выполнять этот тип команды:
удалите с: ssh-keygen-f "/home/fahim/.ssh/known_hosts"-R 23.88.229.252
Скажите, что у меня есть этот хост, названный smurfy.
$ ssh-keygen -R smurfy
# Host smurfy found: line 139 type RSA
/home/saml/.ssh/known_hosts updated.
Original contents retained as /home/saml/.ssh/known_hosts.old
Здесь, не указывая файл с -f
переключатель, ssh-keygen
удалит запись из значения по умолчанию known_hosts
файл, который является тем, расположенным здесь, /home/saml/.ssh/known_hosts
.
Что касается SSH, идентификационные данные машины являются своим закрытым ключом SSH. Закрытый ключ SSH является одной половиной пары ключей; другая половина является открытым ключом. Пара ключей хранится в двух файлах, расположенных в /etc/ssh_host_rsa_key
и /etc/ssh_host_rsa_key.pub
(или подобные местоположения, например, в каталоге /etc/ssh
или с dsa
или ecdsa
вместо rsa
). Пара ключей сгенерирована при установке системы.
Когда Вы входите в ту машину удаленно, клиент SSH должен проверить, что Вы подключены к правильной машине, а не к имитатору кто шпионы на Вашем трафике. Это может осуществить эту проверку, если у Вас есть копия открытого ключа на клиенте (такой, чудеса криптографии с открытым ключом). В первый раз, когда Вы соединяетесь с новым удаленным хостом, SSH хранит копию своего открытого ключа в ~/.ssh/known_hosts
.
При переустановке машины это - новая машина. Не берите в голову имя: любой может явиться олицетворением имени. Но закрытый ключ уникален; после переустановки машина имеет другой закрытый ключ, это больше не та же машина. Если Вы хотите сохранить ту же машину, необходимо создать резервную копию и восстановить пару ключей.
Когда Вы входите в систему удаленной машины, Вы указываете ее имя, не ее открытый ключ. Имя, которое Вы указываете, служит псевдонимом для “реальных” идентификационных данных машины, которая является ее открытым ключом. (Думайте о ключе как о DNA машины.) known_hosts
файл является базой данных, которая отображает псевдонимы на идентификационные данные (открытые ключи).
После переустановки машина сохранила свой псевдоним, но изменила ее идентификационные данные — или помещать ее иначе существует новая машина с тем же псевдонимом. Это неразличимо от взломщика, пытающегося выдавать за законную машину. Это - то, о чем большое страшное предупреждение.
Так как старая машина больше не существует, необходимо удалить ссылку на нее от known_hosts
файл. Вы делаете это с командой ssh-keygen -R …
как обозначено в сообщении от ssh
. Эта команда, обновленная Ваш known_hosts
файл так, чтобы SSH больше не знал о Вашем псевдониме для машины, так, чтобы можно было снова использовать тот псевдоним для другой машины (который, оказывается, имеет тот же IP-адрес, но не та же машина, так как ее пара ключей отличается).