Проблема со всеми учебниками заключается в том, что они могут следовать различным методам. Что я обычно делаю, так это следующее.
Поскольку вы используете sudo (согласно редактированию вопроса) для выполнения вашего скрипта, ваш скрипт будет работать как root. Не как ваш собственный пользователь.
Это означает, что вам нужно добавить открытый ключ root (который находится в /root/.ssh/id_rsa.pub
) из strawberry
в authorized_keys
пользователя root на `blueberry ass!
Предположим, у нас есть два пи, назовем их strawberry
и blueberry
. Strawberry
- это ssh-клиент, blueberry
- это сервер. должен быть заменен вашим логином.
По strawberry
:
cd
mkdir .ssh
chown <my name> .ssh
chmod 700 .ssh
ssh-keygen
cp .ssh/id_rsa.pub /tmp/nice_filename
sudo -s
cd ~root
mkdir .ssh
chown root .ssh
chmod 700 .ssh
ssh-keygen
cat .ssh/id_rsa.pub >> /tmp/nice_filename
chmod a+r /tmp/nice_filename
exit
scp /tmp/nice_filename blueberry: # and enter the password for blueberry
ssh-keygen
может попросить пароль. Если вы действительно полностью доверяете своей среде, вы можете оставить пароль пустым. Если вы не оставите пароль пустым, вам потребуется предоставить этот пароль, чтобы разблокировать ключ.
Итак, обычно я просто вход, оставляя пароль пустым.
По blueberry
:
cd
mkdir .ssh
chown <my name> .ssh
chmod 700 .ssh
cat nice_filename >> .ssh/authorized_keys
chown <my name> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
sudo -s
mkdir ~root/.ssh
chown root.root ~root/.ssh
chmod 700 ~root/.ssh
cat nice_filename >> ~root/.ssh/authorized_keys
chown root ~root/.ssh/authorized_keys
chmod 600 ~root/.ssh/authorized_keys
Вместо cat id_rsa.pub >> .ssh/authorized_keys
, вы можете mv id_rsa.pub .ssh/authorized_keys
, но вы должны делать это только в том случае, если это действительно ваш первый ключ или вы хотите удалить существующие ключи.
Далее по strawberry
:
ssh blueberry ls /tmp
ssh root@blueberry ls /usr
sudo ssh blueberry ls /var
и вуаля!