Как мой сценарий может установить параметры из моего файла конфигурации - PullRequest
0 голосов
/ 02 января 2019

Я пишу ожидаемый файл в файл scp автоматически. Но то, что я делаю каждый раз, это ввод хоста и пароля в терминале. Другой способ - установить пароль в жестком коде. Я хочу, есть ли способ прочитать конфигурацию из файла на моем ноутбуке. И будет лучше, когда я поделюсь своим сценарием с другими.

1 Ответ

0 голосов
/ 02 января 2019

Во-первых, посмотрите, можете ли вы установить для нас подключение без пароля к серверу (обратитесь к администратору сервера и посмотрите свои ssh-keygen и ssh-copy-id справочные страницы)

В противном случае, запись учетных данных для входа на дискплохая безопасность, но иногда неизбежная.Убедитесь, что вы не даете файлу никаких прав на чтение / запись для других (chmod 600 config_file)

Предположим, вы хотите иметь файл конфигурации со следующим содержимым:

set host hostname
set user username
set pass "user password"

Затем вы можете выполнить скриптпросто source файл для установки этих переменных в вашем интерпретаторе Tcl.

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

interp create -safe safeInterp
safeInterp invokehidden source $configFile
# extract the variables from the safe interp
lassign [safeInterp eval {list $host $user $pass}] host user pass

spawn scp $user@$host:/path/to/remote/file /local/file
...
...