[
] [] Почему *BSD использует специфические имена драйверов для сетевых интерфейсов?[
] [
] [
] Это просто исторический выбор. Буквы в названии исходят от драйвера, который говорит с картой, поэтому они будут одинаковыми для двух отдельных интерфейсов, если они случайно используют один и тот же драйвер.[
] [
]У этого есть одно практическое преимущество: на BSD у сетевых драйверов есть свои страницы руководства в разделе 4. Так, [][]dc(4)[
][] рассказывает о драйвере DEC 21143, который будет управлять сетевым адаптером []dc0[
].[
] [
]Это видно и в других частях BSD Unix, например, на жёстких дисках. [
] [
] [] Является ли это внутренним ограничением BSD из-за отсутствия соответствующего уровня абстракции? [
] [
] [
] Нет. [
] [
] Как бы то ни было, [] Linux движется по аналогичному пути []. Дни простых правил именования для Ethernet-адаптеров исчезают по мере усложнения сети[
].
То, что вы хотите, звучит очень похоже на 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
Где: