SSH เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

SSH เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฒเต‹เด•เตเด•เตฝ เดฎเต†เดทเต€เดจเดฟเตฝ SSH เด•เต€เด•เตพ เดŽเด™เตเด™เดจเต† เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเดพเตป เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เดšเดฟเดฒ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เด…เดต เดฎเต‹เดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเต‹ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจ เดญเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต†.

เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด—เด‚เดญเต€เดฐเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดคเตเดคเดตเตผเด•เตเด•เต เดฒเต‡เด–เดจเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚ เดญเตเดฐเดพเดจเตเดคเตป 2018-เตฝ เด•เต€เด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเดจเตเดจเต $HOME/.ssh.

เดˆ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป, เดžเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต เด•เต€เดชเดธเต เดŽเด•เตเดธเต เดธเดฟ, เด‡เดคเต เดฎเดฟเด•เดšเตเดš เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดฎเดพเดจเต‡เดœเตผเดฎเดพเดฐเดฟเตฝ เด’เดจเตเดจเดพเดฃเต, เด‡เดคเต เดถเด•เตเดคเดฎเดพเดฏ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป 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 เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

เด‡เดคเต เดธเดœเตเดœเต€เด•เดฐเดฃเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเต, เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต KeePassXC-เดฏเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดชเตเดคเดฟเดฏ SSH เด•เต€ เดšเต‡เตผเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚:

เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดเด•เตเด•เดฃเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•, เดคเตเดŸเตผเดจเตเดจเต เดกเดพเดฑเตเดฑ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเด•:

SSH เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

เด•เต€ เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดชเดฐเดฟเดฐเด•เตเดทเดฟเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเตเดณเตเดณ เดชเดพเดธเตโ€Œเดตเต‡เดกเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•

เดŸเดพเดฌเดฟเตฝ เด…เดงเดฟเด• เดžเด™เตเด™เดณเตเดŸเต† เด•เต‚เดŸเต† เด…เดฑเตเดฑเดพเดšเตเดšเตโ€Œเดฎเต†เดจเตเดฑเต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• id_rsa:

SSH เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

เดŸเดพเดฌเดฟเตฝ SSH เดเดœเดจเตเดฑเต, เด•เตเดฑเดฟเดชเตเดชเต:

  • เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดคเตเดฑเด•เตเด•เตเดฎเตเดชเต‹เตพ/เด…เตบเดฒเต‹เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดเดœเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด•เต€ เดšเต‡เตผเด•เตเด•เตเด•
  • เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด…เดŸเดฏเตเด•เตเด•เตเดฎเตเดชเต‹เตพ/เดฒเต‹เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดเดœเดจเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เต€ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เด•เต€ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด• (id_rsa) เด…เดฑเตเดฑเดพเดšเตเดšเตเดฎเต†เตปเดฑเดฟเตฝ

เด’เดชเตเดชเด‚ เดฌเดŸเตเดŸเตบ เด…เดฎเตผเดคเตเดคเตเด• เดเดœเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด•:

SSH เด•เต€เด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•

เด‡เดชเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ KeePassXC เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เต€ เดธเตเดตเดชเตเดฐเต‡เดฐเดฟเดคเดฎเดพเดฏเดฟ SSH เดเดœเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เดชเตเดชเต†เดŸเตเด‚, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด…เดคเต เดกเดฟเดธเตเด•เดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ!

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•