- This topic has 4개 답변, 4명 참여, and was last updated 12 years, 8 months 전에 by 시간. This post has been viewed 2263 times
-
-
SSH 서버 자동 로그인 방법
SSH 서버 자동 로그인 방법
=========================
2010.07.30 by 인베인ssh 서버에 로그인시 매번 암호를 입력하지 않고 자동으로 로그인하는 방법에
대한 방법이다. 리눅스 환경에서 개발을 하다보면 자신의 컴퓨터에서 매번 개발서버에
접속시에 암호를 입력하는 것이 귀찮을때 가 있는데 그때 편리하다.
방법은 크게 2가지가 있다.방법1)
fedora11$> ssh-keygen -t rsa
fedora11$> cat ~/.ssh/id_rsa.pub | ssh invain@invain.homeip.net'cat >> .ssh/authorized_keys'
fedora11$> ssh invain@invain.homeip.net --> SSH 암호 입력에 대한 요청없이 바로 로그인이 될것임.방법2)
#> vi ./auto-login-ssh.sh
// autologin with SSH, save as sshsetup.sh
# ! / bin/bash
function usage()
{
echo ""
echo "Authorizes a host for automatic SSH use by sending your key to the remote host ..."
echo "Usage: $0 remote_host_to_authorize [username:=defaults to current username]"
echo ""
}
function cleanup()
{ if [ -f $TEMP_PUB_KEY_XFER ]
then
rm $TEMP_PUB_KEY_XFER
fi
}
function exit_on_error()
{
cleanup
exit 1
}
if [ $# -lt 1 -o "$1" = "-h" -o "$1" = "--help" ]
then
usage
exit 0
fi
PUB_KEY=~/.ssh/id_dsa.pub
if [ $# -eq 2 ]; then
USER=$2
else
USER=`whoami`
fi
HOST_TO_AUTH=$1
TEMP_PUB_KEY_XFER=/tmp/$USER"_TEMP_KEY"echo "checking for $PUB_KEY ..."
if [ ! -f $PUB_KEY ]; then
echo "generating your dsa public key (leave passphrase blank and save to $PUB_KEY when prompted) ..."
ssh-keygen -t dsa
if [ $? -ne 0 ]; then
echo "ssh-keygen failed"
exit_on_error
fi
fi
echo "OK"
echo "for the following commands you will be asked to supply your password for $HOST_TO_AUTH :"
echo "copying a temp pub key to $HOST_TO_AUTH ..."
cat $PUB_KEY > $TEMP_PUB_KEY_XFER
chmod 700 $TEMP_PUB_KEY_XFER
echo "OK"
remote_key=`basename $TEMP_PUB_KEY_XFER`
scp $TEMP_PUB_KEY_XFER $USER@$HOST_TO_AUTH:~/$remote_key
if [ $? -ne 0 ]; then
echo "scp failed"
exit_on_error
fiecho "authorizing $HOST_TO_AUTH for automatic SSH use ..."
ssh $USER@$HOST_TO_AUTH "cat ~/$remote_key >> ~/.ssh/authorized_keys; rm ~/$remote_key"
if [ $? -ne 0 ]; then
echo "ssh failed"
exit_on_error
fi
echo "OK"cleanup
echo "authorization successful! you can now login automatically to $HOST_TO_AUTH"
exit 0* 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치
- 답변은 로그인 후 가능합니다.