# # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2014-05-22 13:28-0600\n" "PO-Revision-Date: 2014-05-22 13:28-0600\n" "Last-Translator: Automatically generated\n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: application/x-publican; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #, no-c-format msgid "Secure deployment with Git and SSH" msgstr "" #. Tag: para #, no-c-format msgid "Git, a distributed version control system, can be used to transfer software and other files to remote systems. By configuring the remote system to pull content from a git repository on a schedule, deployment can be accomplished with a simple local merge. Configuring the system that hosts the repository to restrict access from the remote system enhances security without affecting the method's usefulness." msgstr "" #. Tag: title #, no-c-format msgid "Required Ingredients" msgstr "" #. Tag: para #, no-c-format msgid "Two computers running Fedora with a working network connection." msgstr "" #. Tag: para #, no-c-format msgid "Git installed on both systems, and a git repository on one." msgstr "" #. Tag: para #, no-c-format msgid "A dedicated user account." msgstr "" #. Tag: para #, no-c-format msgid "A dedicated SSH authentication key" msgstr "" #. Tag: title #, no-c-format msgid "Directions" msgstr "" #. Tag: title #, no-c-format msgid "Configuring the host" msgstr "" #. Tag: para #, no-c-format msgid "Create and configure a new user account to use for the transfer. For security reasons, this account will only be allowed to interact with git." msgstr "" #. Tag: para #, no-c-format msgid "First, identify the path to your git repository. Store it in a shell variable, for convenience." msgstr "" #. Tag: screen #, no-c-format msgid "\n" " \n" " repo_directory=/srv/repos/my-project.git\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "Create the user account." msgstr "" #. Tag: screen #, no-c-format msgid "\n" " \n" " useradd --home $repo_directory --shell /usr/bin/git-shell puller\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "The options given to useradd restrict the user's account. Refer to the explanation below, and man useradd for further insight." msgstr "" #. Tag: member #, no-c-format msgid "--home $repo_directory - sets the account's home directory as the repository, using the shell variable from the previous step." msgstr "" #. Tag: member #, no-c-format msgid "--shell /usr/bin/git-shell - Sets the login shell to git shell, a special utility provided with git that will only allow the user to execute git commands." msgstr "" #. Tag: member #, no-c-format msgid "puller - The name of the user to create. Name the account something that will remind you of its purpose." msgstr "" #. Tag: para #, no-c-format msgid "Copy the public half of your ssh key into the user's home directory." msgstr "" #. Tag: screen #, no-c-format msgid "\n" " mkdir $repo_directory/.ssh/\n" " \n" " cp puller_id_rsa.pub $repo_direcory/.ssh/\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "Give the user read only access to the repository" msgstr "" #. Tag: screen #, no-c-format msgid "\n" " \n" " \n" " \n" " " msgstr "" #. Tag: title #, no-c-format msgid "Optional: tell git to ignore the ssh key" msgstr "" #. Tag: para #, no-c-format msgid "You can add the ssh public key to your git repository to share it, or tell git to ignore they key with the instructions below." msgstr "" #. Tag: screen #, no-c-format msgid "\n" " pushd $repo_directory\n" " echo \".ssh/\" >> .gitignore\n" " git add .gitignore\n" " git commit -m \"Ignore $repo_directory/.ssh\"\n" " popd\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Configure the remote host to use your repository" msgstr "" #. Tag: title #, no-c-format msgid "References" msgstr "" #. Tag: para #, no-c-format msgid "Upstream Documentation" msgstr "" #. Tag: para #, no-c-format msgid "" msgstr ""