Linux환경에서 SSH Key Pair 생성하기(Generate SSH keypair for Linux)
이 글은 Linux
환경에서 SSH Key Pair를 생성하는 방법을 설명한다.
OpenSSH
가 설치 되어 있다고 가정한다.
ssh-keygen -t rsa -b 4096 -f euikook -C "euikook@gmail.com"
이 글은 Linux
환경에서 SSH Key Pair를 생성하는 방법을 설명한다.
OpenSSH
가 설치 되어 있다고 가정한다.ssh-keygen -t rsa -b 4096 -f euikook -C "euikook@gmail.com"
이 글은 PuTTY
사이트에서 PuTTY
와 같이 배포되는 puttygen
프로그램을 이용하여 SSH Key Pair를 생성하는 방법을 설명한다.
아래 링크에서 puttygen.exe 파일을 다운 받는다. PuTTY Download Page
이미 설치 되어 있다면 puttygen.exe
파일을 실행한다.
다음과 같은 메일이 왔다.
Hi @euikook,
You recently used a password to access the repository at euikook/wiki.notes with git using git/2.30.2.
Basic authentication using a password to Git is deprecated and will soon no longer work. Visit https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information around suggested workarounds and removal dates.
Thanks, The GitHub Team
Github Blog Token: Token authentication requirements for Git operations
보안 강화를 위하여 2021년 08월 13일 부터 Git 작업을 위한 인증 시 암호를 통한 인증을 지웒 하지 않는다고 한다. 2021년 08월 13일 이후에는 Git 작업을 위해서는 토큰 기반 인증을 사용하거나 SSH 키를 통한 인증을 사용해야 한다.
지금도
2 단계 인증
을 활성화 한 사람은 암호를 통한 인증을 사용할 수 없다.
Github에 인증하는 방법은 다음과 같다.
username
, password
Github.com에 수정사항을 기여(Contribution)하지 않는 다면 크게 상관 없다.
2 단계 인증
을 사용하고 있다면 지금도 계정 암호가 아니라Personal Access Token
을 통해서 인증 해야 하기 때문에 상관이 없다.
~/.ssh/config
SSH를 사용하다보면 서버별 접속 옵션이나 암호화 방식을 달리 해야 될 경우가 있다. 이때 이러한 설정 정보들을 ~/ssh/config
파일에 저장해 두면 접속시에 명령행에 옵션으로 주지 않더라도 적용된다.
~/.ssh/config
파일의 활용법은 다음과 같다.
또한 Domain Name이 할당되어 있지 않고 IP 주소로 접속하는 경우 서버에 자신만의 이름을 부여하고 그 이름으로 접속할 수 있기 때문에 매우 유용하다.
접속하고자 하는 IP 1.2.3.4에 Domain Name이 할당되어 있지 않거나 해당 IP 정보가 /etc/hosts
에 지정되어 있지 않더라도 호스트 지정자로 1.2.3.4
와 test
로 지정돼어 있기 때문에 1.2.3.4
뿐 아니라 test
로 접속 해도 1.2.3.4
로 접속된다.
ssh 1.2.3.4
또는
ssh test
외부에 공개된 서버의 SSH 데몬의 포트 번호를 보안상의 이유등으로 변경한 경우 변경된 SSH 포트 번호를 config
파일에 Port
옵션으로 지정하면 -p
옵션으로 포트번호를 지정할 필요 없이 접속가능하다.
Host example.com
Hostmname example.com
Port 5545
PreferredAuthentications password
PubkeyAuthentication no
키 관리를 위해 Key Agent를 사용하지 않는 경우 인증을 위해 Identity 파일을 명시적으로 -i
옵션으로 지정할 수 있다.
~/ssh/config
파일에 IdentityFile
옵션을 사용하여 명시적으로 Private Key를 지정할 수 있다.
아래는 example.com
인증을 위해 개인키로 ~/.ssh/test
를 지정한 예제이다.
Host example.com
Hostmname example.com
IdentityFile ~/.ssh/test
ssh-keygen
ssh-keygen -t rsa -b 4096 -f test
test.pub
: Public Keytest
: Private Keyssh -L [bind_addr:]port:target_addr:target_port user@server
ssh -R [bind_addr:]port:target_addr:target_port user@server
RSYNC+SSH 를 이용한 증분 백업 및 Cron을 이용한 자동화
관리 하는 서버가 많아지고 서버에 저장되는 데이터의 양이 늘어 날 수록 백업을 어떻게 하여야 하는지 고민이 생긴다.
이 포스트에서는 RSYNC와 SSH를 이용하여 여러 서버의 데이터를 백업하고 이를 자동화 하는 방법에 대하여 기술 한다. 테스트를 위한 서버 구성은 다음과 같다.
아래 예제 에서는 apple, banana, coconut의 /home 디렉터리를 backupbot으로 백업 하고자 한다.