Как к sftp один сервер к другому защищенному паролем серверу без интерактивного?

[

] [

] Почему *BSD использует специфические имена драйверов для сетевых интерфейсов?[

] [

] [

] Это просто исторический выбор. Буквы в названии исходят от драйвера, который говорит с картой, поэтому они будут одинаковыми для двух отдельных интерфейсов, если они случайно используют один и тот же драйвер.[

] [

]У этого есть одно практическое преимущество: на BSD у сетевых драйверов есть свои страницы руководства в разделе 4. Так, [][]dc(4)[][] рассказывает о драйвере DEC 21143, который будет управлять сетевым адаптером []dc0[].[

] [

]Это видно и в других частях BSD Unix, например, на жёстких дисках. [

] [

] [

] Является ли это внутренним ограничением BSD из-за отсутствия соответствующего уровня абстракции? [

] [

] [

] Нет. [

] [

] Как бы то ни было, [] Linux движется по аналогичному пути []. Дни простых правил именования для Ethernet-адаптеров исчезают по мере усложнения сети[

].

1
18.01.2015, 18:25
1 ответ

То, что вы хотите, звучит очень похоже на ssh-keyys. Это позволяет вам создавать 'доверенные' сети, которые не требуют ввода паролей. Это также дает вам дополнительную безопасность, чтобы у вас не было пароля в обычном тексте в вашем скрипте.

На исходной машине:

ssh-keygen -t rsa -b 2048
Enter file in which to save the key (/root/.ssh/id_rsa): [Hit Enter]
Enter passphrase (empty for no passphrase): [Hit Enter]
Enter same passphrase again: [Hit Enter]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

Теперь скопируйте открытый ключ на сервер назначения:

ssh-copy-id user@123.45.56.78
[OR]
cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Теперь в вашем скрипте:

sftp -o "IdentityFile=/root/.ssh/id_rsa" user@123.45.56.78

Альтернативно вы можете сделать:

read -s -p "Enter Password: " password
sshpass -p $password sftp user@123.45.56.78

Где:

  • -s: Не отображать пароль на экране
  • -p: "Password:": Отображать текстовое сообщение
  • password: Bash переменная, в которой ваш пароль хранится
2
27.01.2020, 23:37

Теги

Похожие вопросы