แžšแž€แŸ’แžŸแžถแž‘แžปแž€แžŸแŸ„ SSH แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–

แžšแž€แŸ’แžŸแžถแž‘แžปแž€แžŸแŸ„ SSH แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–

แžแŸ’แž‰แžปแŸ†แž…แž„แŸ‹แž”แŸ’แžšแžถแž”แŸ‹แžขแŸ’แž“แž€แž–แžธแžšแž”แŸ€แž”แžšแž€แŸ’แžŸแžถแž‘แžปแž€แžŸแŸ„ SSH แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€ แžŠแŸ„แž™แž˜แžทแž“แžแŸ’แž›แžถแž…แžแžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž˜แžฝแž™แž…แŸ†แž“แžฝแž“แžขแžถแž…แž›แžฝแž… แžฌแžŒแžทแž‚แŸ’แžšแžธแž”แž–แžฝแž€แžœแžถแŸ”

แžขแžแŸ’แžแž”แž‘แž“แžนแž„แž˜แžถแž“แž”แŸ’แžšแž™แŸ„แž‡แž“แŸแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžขแŸ’แž“แž€แžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แžšแž€แžƒแžพแž‰แžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž†แžพแžแž†แžถแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธ แž—แŸแž™แžŸแŸ’แž›แž“แŸ‹แžŸแŸ’แž›แŸ„ แž“แŸ…แž†แŸ’แž“แžถแŸ† 2018 แž“แžทแž„แž”แž“แŸ’แžแžšแž€แŸ’แžŸแžถแž‘แžปแž€แž€แžผแž“แžŸแŸ„ $HOME/.ssh.

แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž”แž‰แŸ’แž แžถแž“แŸแŸ‡แžแŸ’แž‰แžปแŸ†แžŸแŸ’แž“แžพแžฑแŸ’แž™แž”แŸ’แžšแžพ แžแŸแž‡แžธแž”แŸ‰แžถแžŸแžŸแŸŠแžธแžŸแŸŠแžธแžŠแŸ‚แž›แž‡แžถแžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แžŠแŸแž›แŸ’แžขแž”แŸ†แž•แžปแžแž˜แžฝแž™ แžœแžถแž”แŸ’แžšแžพแž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž€แžถแžšแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžŠแŸแžšแžนแž„แž˜แžถแŸ† แž“แžทแž„แž˜แžถแž“แž—แŸ’แž“แžถแž€แŸ‹แž„แžถแžš SSH แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™แž•แž„แžŠแŸ‚แžšแŸ”

แžœแžถแž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แžšแž€แŸ’แžŸแžถแž‘แžปแž€แžŸแŸ„แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹ แž แžพแž™แž”แž“แŸ’แžแŸ‚แž˜แž–แžฝแž€แžœแžถแž‘แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแž“แŸ…แž–แŸแž›แžœแžถแžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แŸ” แžŠแžšแžถแž”แžŽแžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžทแž‘ แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแŸ„ SSH แž€แŸแž“แžนแž„แž€แŸ’แž›แžถแž™แž‘แŸ…แž‡แžถแž˜แžทแž“แžขแžถแž…แž‘แŸ…แžšแžฝแž…แžŠแŸ‚แžšแŸ”

แž‡แžถแžŠแŸ†แž”แžผแž„ แž…แžผแžšแž™แžพแž„แž”แž“แŸ’แžแŸ‚แž˜ autostart แž“แŸƒแž—แŸ’แž“แžถแž€แŸ‹แž„แžถแžš 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

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹