āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ•ā§‹āĻ¨ā§‹ āĻ•ā§‹āĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšā§āĻ°āĻŋ āĻŦāĻž āĻĄāĻŋāĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻ­āĻ¯āĻŧ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡āĨ¤

āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡ āĻ¯āĻžāĻ°āĻž āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻœāĻŋāĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¨āĻ¨āĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻ¨āĻ¯āĻŧā§‡āĻĄ 2018 āĻ¸āĻžāĻ˛ā§‡ āĻāĻŦāĻ‚ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ $HOME/.ssh.

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡ KeePassXC, āĻ¯āĻž āĻ¸ā§‡āĻ°āĻž āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ, āĻāĻŸāĻŋ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ SSH āĻāĻœā§‡āĻ¨ā§āĻŸāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻāĻŸāĻŋ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ–ā§‹āĻ˛āĻžāĻ° āĻĒāĻ°ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻ¨ā§āĻ§ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ“ āĻ…āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡ āĻĒāĻĄāĻŧāĻŦā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ˛āĻ— āĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻāĻœā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ…āĻŸā§‹āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ•; āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ–ā§āĻ˛ā§āĻ¨ ~/.bashrc āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§‡āĻˇā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
    echo "Initialising new SSH agent..."
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
}

# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
    . "${SSH_ENV}" > /dev/null
    #ps ${SSH_AGENT_PID} doesn't work under cywgin
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi

āĻāĻ° āĻĒāĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° KeePassXC-āĻ¤ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

āĻ¯āĻ¨ā§āĻ¤ā§āĻ° -> āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ -> āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻāĻœā§‡āĻ¨ā§āĻŸ -> SSH āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°ā§‡, āĻāĻ–āĻ¨ KeePassXC-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ SSH āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

āĻ•ā§€ āĻ¸āĻš āĻ†āĻ‡āĻ•āĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨:

āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻ¯āĻĻāĻŋ āĻ•ā§€āĻŸāĻŋ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻ“ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§āĻ¨

āĻŸā§āĻ¯āĻžāĻŦā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻĒāĻ˛ā§‹āĻĄ id_rsa:

āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻŸā§āĻ¯āĻžāĻŦā§‡ āĻāĻ¸āĻāĻ¸āĻāĻ‡āĻš āĻāĻœā§‡āĻ¨ā§āĻŸ, āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ:

  • āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ–ā§‹āĻ˛āĻž/āĻ†āĻ¨āĻ˛āĻ• āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻœā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
  • āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻ¨ā§āĻ§/āĻ˛āĻ• āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻŦāĻŋāĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§€ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ (id_rsa) āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ

āĻāĻŦāĻ‚ āĻŦā§‹āĻ¤āĻžāĻŽ āĻŸāĻŋāĻĒā§āĻ¨ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:

āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ SSH āĻ•ā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨

āĻāĻ–āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ KeePassXC āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ•ā§€āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ SSH āĻāĻœā§‡āĻ¨ā§āĻŸā§‡ āĻ¯ā§‹āĻ— āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻ° āĻāĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨