แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒ›แƒ˜แƒœแƒ“แƒ แƒ’แƒ˜แƒ—แƒฎแƒ แƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ”, แƒ˜แƒ›แƒ˜แƒก แƒจแƒ˜แƒจแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ แƒแƒ› แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ› แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒžแƒแƒ แƒแƒก แƒแƒœ แƒ’แƒแƒจแƒ˜แƒคแƒ แƒแƒก แƒ˜แƒกแƒ˜แƒœแƒ˜.

แƒกแƒขแƒแƒขแƒ˜แƒ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช แƒ•แƒ”แƒ  แƒ˜แƒžแƒแƒ•แƒ แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒžแƒแƒ แƒแƒœแƒแƒ˜แƒ“แƒฃแƒšแƒ˜ 2018 แƒฌแƒ”แƒšแƒก แƒ“แƒ แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒก $HOME/.ssh.

แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— KeePassXC, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜, แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒซแƒšแƒ˜แƒ”แƒ  แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒฅแƒ•แƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ SSH แƒแƒ’แƒ”แƒœแƒขแƒ˜.

แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒก แƒ’แƒแƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ“แƒแƒ˜แƒฎแƒฃแƒ แƒ”แƒ‘แƒ, SSH แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ.

แƒฃแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ”แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ, แƒ›แƒแƒ“แƒ˜แƒ—, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒกแƒแƒก แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— 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 แƒแƒ’แƒ”แƒœแƒขแƒ˜

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒ”แƒก แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก, แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒชแƒแƒ“แƒแƒ— แƒแƒฎแƒแƒšแƒ˜ SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ KeePassXC-แƒจแƒ˜:

แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ— แƒฎแƒแƒขแƒฃแƒšแƒแƒ–แƒ” แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒแƒ•แƒกแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜:

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒ—แƒฃ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ“แƒแƒชแƒฃแƒšแƒ˜แƒ แƒžแƒแƒ แƒแƒšแƒ˜แƒ—, แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒžแƒแƒ แƒแƒšแƒ˜

แƒฉแƒแƒœแƒแƒ แƒ—แƒจแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ“แƒแƒœแƒแƒ แƒ—แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ id_rsa:

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒฉแƒแƒœแƒแƒ แƒ—แƒจแƒ˜ SSH แƒแƒ’แƒ”แƒœแƒขแƒ˜, แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ:

  • แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ’แƒ”แƒœแƒขแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก/แƒ’แƒแƒœแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒกแƒแƒก
  • แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ’แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ“แƒแƒฎแƒฃแƒ แƒ•แƒ˜แƒก/แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒกแƒแƒก

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ (id_rsa) แƒ“แƒแƒœแƒแƒ แƒ—แƒจแƒ˜

แƒ“แƒ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒแƒ’แƒ”แƒœแƒขแƒจแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ:

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— SSH แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“

แƒแƒฎแƒšแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— KeePassXC, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ SSH แƒแƒ’แƒ”แƒœแƒขแƒก, แƒแƒกแƒ” แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒฆแƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ