#keywords ssh,ssh-agent [[TableOfContents]] == ¼­¼³ == subversionÀ» Ç×»ó local¿¡¼­¸¸ »ç¿ëÇÏ´Ù°¡ ¾ó¸¶Àü¿¡ archive Àü¿ë ¼­¹ö¸¦ Çϳª ¸¶·ÃÇÏ°í remote·Î »ç¿ëÇÏ°í ÀÖ¾úÁö¿ä. svn+ssh À» ÀÌ¿ëÇؼ­ Á¢¼ÓÇÏ°í ÀÖ¾ú´Âµ¥, ÀÌ°Å ¸Å¹ø sshÀ» À§Çؼ­ Æнº¿öµå¸¦ Ä¡±â°¡ ¿µ ±ÍÂúÀº °ÍÀÌ ¾Æ´Õ´Ï´Ù. ¾î¶² ¶§´Â codingÇÏ´Â ½Ã°£º¸´Ù Æнº¿öµå Ä¡´Â ½Ã°£ÀÌ ´õ ±ä °Í °°´Ù´Â Âø°¢ÀÌ µé ¶§µµ -.-;;;; ±×·¡¼­ ssh-agent¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ã¾ÆºÃ´Âµ¥ ÀÇ¿Ü·Î °£´ÜÈ÷ Á¤¸®µÅ ÀÖ´Â °Ô ¾ø¾î¼­, ¾ÆÁÖ °£´ÜÈ÷ »ç¿ë¹æ¹ýÀÇ Çϳª¸¦ ¼Ò°³ÇÕ´Ï´Ù. ÀÌÈÄ´Â ÆíÀÇ»ó ¹Ý¸»·Î :) == ¹Ì¸® È®ÀÎÇÒ °Íµé == 1. ¿ì¼± ´ç¿¬È÷ ssh client¿Í server°¡ Á¦´ë·Î µ¿ÀÛÇϵµ·Ï ¼³Á¤ÇÏ¿´´ÂÁö È®ÀÎÇÑ´Ù. 1. À§ÀÇ »çÇ×ÀÌ '''Á¦´ë·Î''' µÇ¾úÀ¸¸é ´ç¿¬È÷ µÇ°ÚÁö¸¸, Ȥ½Ã ¸ð¸£´Ï ssh-keygen, ssh-copy-id, ssh-agent, ssh-addÀÇ ¸í·É¾î°¡ »ç¿ë °¡´ÉÇÑÁö È®ÀÎÇÑ´Ù. == »óȲ ¼³¸í == ÇöÀç ÀÚ½ÅÀÌ ÀÛ¾÷ÇÏ°í ÀÖ´Â ¸Ó½ÅÀÌ machA¶ó°í ÇÏ°í, svn+ssh server°¡ µ¹°í ÀÖ´Â ¸Ó½ÅÀ» machB¶ó°í ÇÏÀÚ. ÆíÀÇ»ó µÎ ¸Ó½Å¿¡ alice¶ó´Â usernameÀ¸·Î °èÁ¤À» °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. == Áغñ ÀÛ¾÷ == ¿ì¼± ssh¿ëÀ¸·Î ¾µ key pair¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. machA¿¡¼­ ´ÙÀ½ÀÇ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. {{{#!vim alice@macha:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/lbird/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: 33:d9:ac:19:bd:75:13:e5:4a:d9:3c:98:fa:4f:39:d6 lbird@debian alice@macha:~$ }}} key¸¦ »ý¼ºÇßÀ¸¸é machB·Î °ø°³Å°¸¦ Àü´ÞÇØ¾ß ÇÑ´Ù. machA¿¡¼­ ´ÙÀ½ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. {{{#!vim alice@macha:~$ ssh-copy-id alice@machb alice@machb's password: Now try logging into the machine, with "ssh 'alice@machb'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. lbird@debian:~$ }}} ¿©±â¼­ ¿Í À§ÀÇ ´Â °°À» ÇÊ¿ä´Â ¾ø´Ù´Â °Í¿¡ À¯ÀÇ. È®ÀÎÀº ¾ÈÇغÃÁö¸¸ ´ç¿¬È÷ ±×·² °Í °°´Ù. :) == ssh-agent ¼³Á¤ == ´Ù¸¥ °÷¿¡ ÁÁÀº ¼³¸íÀÌ ¸¹°ÚÁö¸¸ °£´ÜÈ÷ ¼³¸íÇϸé, ssh-agent¶ó´Â ÇÁ·Î±×·¥Àº Çѹø ½ÇÇàÇÏ¸é °è¼Ó ¸Þ¸ð¸®¿¡ »óÁÖÇϸ鼭 »ç¿ëÀÚÀÇ private key¸¦ ¾ÈÀüÇÏ°Ô º¸È£ÇÏ°í ÀÖ°Ô µÈ´Ù. ¿©±â¿¡ ssh-add¶ó´Â ÇÁ·Î±×·¥À¸·Î »ç¿ëÀÚ°¡ Ãß°¡ÇÏ°í ½ÍÀº private key¸¦ Áý¾î ³ÖÀ» ¼ö ÀÖ´Ù. ssh-agent´Â ½ÇÇàµÉ ¶§ ¼ÒÄÏÀ» Çϳª ¸¸µç´Ù. ´Ù¸¥ ÇÁ·Î±×·¥µéÀº ±× ¼ÒÄÏ À̸§À» SSH_AUTH_SOCK¶ó´Â ȯ°æ º¯¼ö¿¡¼­ ¾Ë¾Æ³»¼­ ssh-agent¿Í Åë½ÅÇؼ­ private key¸¦ ¾ò´Â´Ù. machA (ÀÚ½ÅÀÇ ÁÖ ÀÛ¾÷Àå)¿¡ óÀ½ ·Î±äÇϸé ÀÏ´Ü ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. {{{#!vim alice@macha:~$ ssh-agent > ~/.ssh-agent.sh }}} ¼ø¼­´Â Á» ¹Ù²î¾úÁö¸¸, machAÀÇ aliceÀÇ È¨µð·ºÅ丮¿¡ ÀÖ´Â .bash_profile¿¡ ´ÙÀ½ÀÇ ¸îÁÙÀ» Ãß°¡Çϵµ·Ï ÇÑ´Ù. {{{#!vim sh # ssh-agent variables if [ -f ~/.ssh-agent.sh ]; then . ~/.ssh-agent.sh fi }}} »ç½Ç»ó ssh-agent¿Í °ü·ÃÇÑ ÀÛ¾÷Àº ÀÌÁ¦ ³¡³µ°í »ç¿ë¸¸ ÇÏ¸é µÈ´Ù. Ãß°¡> ¿ØÁö ¸ðµç °ÍÀÌ ÀÚµ¿À¸·Î ÀϾÀ¸¸é ÇÑ´Ù°í »ý°¢µÈ´Ù¸é(Á¦°¡ ±×·¸½À´Ï´Ù. -.-;;) ´ÙÀ½ÀÇ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù½Ã ¸»Çϸé, ssh-agent¸¦ Á÷Á¢ command line¿¡¼­ ½ÇÇàÇÏ´Â °ÍÀÌ ±ÍÂúÀº °ÍÀÌ´Ù. .bash_profile¿¡ À§ÀÇ ³»¿ë ´ë½Å ¾Æ·¡¿Í °°ÀÌ »ðÀÔÇÑ´Ù. {{{#!vim sh # ssh-agent variables if [ -f ~/.ssh-agent.sh ]; then . ~/.ssh-agent.sh fi if [ ! -S $SSH_AUTH_SOCK ]; then ssh-agent -t 86400 > ~/.ssh-agent.sh echo "No agent! ssh-agent started." . ~/.ssh-agent.sh fi }}} ÀÌ·¸°Ô Çϸé ÀÏ´Ü .ssh-agent.shÀ̶ó´Â ÆÄÀÏÀÌ ÀÌ¹Ì ÀÖ´ÂÁö È®ÀÎÇÏ°í ÀÖÀ¸¸é ÀоîµéÀδÙ. ±×¸®°í °Å±â¿¡¼­ ¼³Á¤µÈ ¼ÒÄÏ($SSH_AUTH_SOCK)ÀÌ Á¤¸»·Î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ssh-agnet°¡ µ¹°í ÀÖÁö ¾ÊÀ¸´Ï »õ·Î ½ÇÇàÇÑ´Ù´Â ¸Þ½ÃÁö¸¦ ¶ç¿ì°í .ssh-agent.sh¸¦ ´Ù½Ã ¸¸µç´Ù. ´Ù¸¥ °Í ¶Ç ÇÑ°¡Áö´Â -t 86400 ¿É¼ÇÀ» Ãß°¡Çؼ­ ±âº»ÀûÀ¸·Î ssh-add¸¦ ÅëÇؼ­ key¸¦ Áý¾î ³ÖÀ» ¶§ Á¦Çѽð£À» ÇÏ·ç·Î ¼³Á¤ÇÑ´Ù´Â °ÍÀÌ´Ù. == »ç¿ë == ÀÏ´Ü shell·Î ·Î±äÀ» Çϸé ÀÌÁ¦ ssh-agent°¡ Ç×»ó µ¹°í ÀÖ´Ù°í È®½ÅÇÒ ¼ö ÀÖ°Ô µÆ´Ù. ÀÌÁ¦´Â ssh-add¸¦ ÅëÇؼ­ key¸¦ ·ÎµåÇØÁÙ ÇÊ¿ä°¡ Àִµ¥, ÀÌ¹Ì ¸¸µé¾îµÐ key¸¦ ±×³É ·ÎµåÇÒ °æ¿ì¿¡´Â command line¿¡¼­ {{{#!vim sh alice@macha:~$ ssh-add }}} ¶ó°í¸¸ ÇÏ°í Æнº¿öµå¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù. == »çÁ· == ±×³É ³¡³»¸é ½É½ÉÇϴϱî.. ^^ ssh-agent°¡ ¾øÀ» ¶§´Â Á¢¼ÓÇÒ ¶§ ÀÌ·± ½ÄÀÌ´Ù. {{{#!vim alice@macha:~$ ssh alice@machb Password: Linux machb 2.6.8-2-686 #1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU/Linux The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have mail. Last login: Wed Dec 27 12:02:44 2006 from macha alice@machb:~$ }}} ssh-agent°¡ ÀÖÀ¸¸é {{{#!vim alice@macha:~$ ssh alice@machb Linux machb 2.6.8-2-686 #1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU/Linux The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have mail. Last login: Wed Dec 27 12:02:44 2006 from macha alice@machb:~$ }}} password¸¦ ¾È ¹°¾îº»´Ù. svn+sshÀ» ÅëÇؼ­ ÀÛ¾÷ÇÑ´Ù¸é update³ª commitÀ» ÇÒ ¶§¸¶´Ù Çѵιø¾¿ ¹°¾îº¸´Â Æнº¿öµå¸¦ óÀ½¿¡ '''ÇÑ ¹ø'''¸¸ ÀÔ·ÂÇÏ¸é µÈ´Ù´Â ¾ÆÁÖ¾ÆÁÖ Æí¸®ÇÑ Á¡ÀÌ »ý±ä´Ù. == Document history == * óÀ½ ÀÛ¼º -- [Lbird] [[DateTime(2006-12-28T14:53:47)]] * .bash_profile ³»¿ë ¼öÁ¤ -- -- [Lbird] [[DateTime(2007-03-29T08:33:16)]] == TODO == == FAQ ==