Как прочитать пароль из переменной?

Я пытаюсь переместить мой файл в другую систему, которая находится в каком-то другом месте, с помощью этой команды:

rsync -avrz  src destination

Он работает нормально. Но мне нужно поместить эту команду в сценарий оболочки и запустить ее следующим образом:

#! /bin/sh
rsync -avrz  srcfilelocation destination

При запуске запрашивает системный пароль назначения. Я знаю этот пароль и даю его вручную.

Теперь я решил присвоить пароль переменной среды, например pswd="destination system password". Мне нужен мой скрипт для чтения пароля из этой переменной. Как мне написать скрипт для этого?

0
задан 10 July 2012 в 19:56

14 ответов

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 25 July 2018 в 18:11

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в серверные ~ / .ssh / авторизованные_коды.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 25 July 2018 в 18:11

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 2 August 2018 в 00:25

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в серверные ~ / .ssh / авторизованные_коды.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 2 August 2018 в 00:25

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 4 August 2018 в 15:54

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в серверные ~ / .ssh / авторизованные_коды.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 4 August 2018 в 15:54

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 6 August 2018 в 00:32

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в серверные ~ / .ssh / авторизованные_коды.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 6 August 2018 в 00:32

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 7 August 2018 в 17:57

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в серверные ~ / .ssh / авторизованные_коды.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 7 August 2018 в 17:57

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 10 August 2018 в 06:47

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в ~ / .ssh / авторизованный_сервер сервера.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 10 August 2018 в 06:47

Я рекомендую использовать ключи PKI / SSH вместо этого, но если вам нужно, вы можете установить переменную среды следующим образом:

export RSYNC_PASSWORD="yourPasswordHere"

Обратите внимание, что это имеет некоторые потенциальные последствия для безопасности и будет быть доступным только в текущем сеансе.

Чтобы добавить его в сеанс пользователя по умолчанию:

echo 'export RSYNC_PASSWORD="yourPasswordHere"' >> ~/.bashrc

Кроме того, вы можете использовать файл паролей для хранения своего пароля. Обратите внимание, что пароль указан в виде обычного текста, поэтому вы должны принять меры для его защиты.

echo "yourPasswordHere" > yourPasswordFile.txt
rsync -avrz --password-file yourPasswordFile.txt src dest
1
ответ дан 15 August 2018 в 18:41

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

Это метод использования открытых и закрытых ключей для аутентификации пользователя. Вы храните копию своего закрытого ключа, а на другом сервере есть копия вашего открытого ключа. Когда вы входите в систему, они немного общаются друг с другом, подтверждая, что открытый и закрытый ключи совпадают, поэтому вы можете войти без ввода пароля.

Это так же безопасно, как и все, что вы делаете. Не делитесь своим личным ключом с кем-либо!

Установить это очень просто.

На исходном компьютере запустите ssh-keygen. Вы можете принять все значения по умолчанию, этого будет достаточно для этой цели. Он сгенерирует ваши закрытый (id_rsa) и открытый (id_rsa.pub) ключи в вашей папке ~ / .ssh.

Теперь вы хотите получить открытый ключ на сервере, что тоже легко.

На исходном компьютере запустите ssh-copy-id username @ servername.

Это поместит копию содержимого id_rsa.pub в ~ / .ssh / авторизованный_сервер сервера.

Теперь, если вы перейдете по ssh от источника к месту назначения, вы войдете без пароля.

Как это влияет на rsync, который я слышал? Rsync использует ssh!

Пожалуйста, помните: НИКОГДА НЕ ДАЙТЕ СВОЙ ЧАСТНЫЙ КЛЮЧ (id_rsa), или кто-то может притвориться вами.

2
ответ дан 15 August 2018 в 18:41
  • 1
    Это не работает в моей системе Ubuntu 10.04. После того, как проделал все вышеперечисленные шаги, так как он спрашивает пароль – Viswa 10 July 2012 в 19:14

Другие вопросы по тегам:

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