'ssh'에 해당하는 글 3건

github

Tool/Git 2013. 3. 16. 02:03

짓? 깃?

 

git을 한글로 발음 할 때 [짓, 깃] 둘 중 어떻게 부르는지 알아보았는데,
여러가지 근거(?)들을 토대로 [] 이 맞다고 합니다. ^^

 

 

github는 git(VCS)을 사용한 버전 관리를 가능하게 하는 웹기반 호스팅 서비스 입니다.
git 서버를 따로 구축하고 싶지 않은; 사람들이 사용하면 편리하겠습니다.
참고로 무료 사용자는 Repository가 공개되므로 소스를 올릴 때 각종 패스워드가 포함된 파일의 관리에 유의해야 겠습니다.

 

 

git의 시작 - 원격 저장소 생성

 

http://github.com 에서 회원가입을 하고 Repository(저장소)를 생성하면서 버전 관리를 시작할 수 있습니다.
저장소 생성 시, 어떤 파일이든 한 번의 commit을 거쳐야 기본 branch(master)가 생성되므로,
자동이든 수동이든 파일(사이트에서는 README.rd를 추천하네요;)을 생성하여 commit 하면 저장소의 코드 리스트가 나타납니다.
아직 아무것도 안했으니, 처음 commit 한 파일 리스트와 master branch 정도를 확인할 수 있습니다.
앞으로 이 원격 저장소가 중심이 되어 공동 작업, 버전 관리 등을 하게 됩니다.
branch는 작은 프로젝트 단위로 생각하면 되고, 각 branch들은 필요한 시점에 master와 병합(merge)하면 되겠습니다.

 

 

원격 저장소가 생성되었으면,

  • git(Read-only) - git://github.com/ggamzzak/test.git
  • ssh(Read,Write) - git@github.com:ggamzzak/test.git
  • http(Read,Write) - https://github.com/ggamzzak/test.git

↑ 처럼 3가지 프로토콜로 접근 가능한 원격 저장소 주소를 알 수 있습니다.

 

 

타인의 소스 수정

 

이 원격 저장소 주소를 아는 사람이라면 누구든 소스를 다운받을 수 있습니다.
타인이 수정할 수 있는 방법은 두 가지가 있구요. Collaborators, Fork...
일단 이 원격 저장소의 관리자가 환경설정에서 구성원(Collaborators)을 추가하게 되면,
추가된 구성원은 위 원격 저장소 주소를 사용하여 읽고, 쓰기가 가능해 집니다.
Fork 라는 기능을 사용하면 해당 원격 저장소가 본인의 원격 저장소로 복제되며 소스를 수정한 뒤,
본 원격 저장소 관리자에게 적용 요청(Pull Request)을 하는 것입니다.

 

뭐 일단 원격 저장소 생성을 완료했습니다,,


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Git ssh public key

Server/CentOS 2013. 3. 15. 00:08

git 서버의 SSH 프로토콜 주소로 인증하고자 할 때 필요한 SSH 공개키를 만들어 보겠습니다.

 

$ git clone git@github.com:ggamzzak/test.git
Cloning into 'test'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

↑ SSH 공개키가 없다는 이유로 저장소 복사를 거부했습니다.

 

 

공개키 생성

 

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ggamzzak/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ggamzzak/.ssh/id_rsa.
Your public key has been saved in /home/ggamzzak/.ssh/id_rsa.pub.
The key fingerprint is:
11:91:21:d1:61:11:de:0a:8c:43:44:2f:58:63:48:d3 oops@oops4u.com

 

 

생성된 키들은 기본적으로 계정 홈디렉토리의 .ssh 디렉토리에 생성됩니다.
다음은 공개키의 내용을 복사하여 git 서버 관리자에게 메일을 보내든, 자신이 관리자라면 알아서 설정합니다;

 

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuZISHmxa8FaESJvCK4G2ty1ZNgggFQZWSGIjnk+ZIW/Ho2PmpZhvfGVuK7ahKdcSimoBv4+dXptPnPELAdcHpgyfnsxl623qUEKvAF0MJ2LpaXx7BAoK3IqJyC3VVTz8ZJGLriAbZT04Er8U01B8SZil7yyo+asdfR9ipclUjl+winoWD5smX2yDWInrY1fqis5etEYZLydrzeG19raHwV7JwGrJHMQ0BOQlZs/RXOYQMWyAJmhfBXp4Jiq+SnW3snb3d9f0SOLZJeeyWVmHePvmjRdk/bSfjRRhiQTcbMnREgBZfiWgQGnJqfbyFWvYeoXID3de1eDnoFh7q5jNLw== oops@oops4u.com

 

 

 

 

git 저장소로부터  복사 재시도 ↓

 

$ git clone git@github.com:ggamzzak/test.git
Cloning into 'test'...
Enter passphrase for key '/home/ggamzzak/.ssh/id_rsa':
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (4/4), done.
Receiving objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 5 (delta 0)


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

SSH brute force

Server/CentOS 2009. 12. 4. 10:10
SSH brute force(무차별 공격) 란 사전적 계정이름과 단순한 패스워드를 노리는 대입공격 입니다.
혹시나 해킹에 성공한다면 사용자 계정을 획득하여 또 다른 해킹을 시도할 것입니다.
본인의 서버에 SSH brute force 공격이 있었는지를 확인해 봅니다.

# vi /var/log/secure
Nov 30 10:46:57 localhost sshd[32438]: Address 210.21.225.202 maps to sym.gdsz.cncnet.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Nov 30 10:46:57 localhost sshd[32438]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=210.21.225.202  user=root
Nov 30 10:46:59 localhost sshd[32438]: Failed password for root from 210.21.225.202 port 63852 ssh2
Nov 30 10:46:59 localhost sshd[32439]: Received disconnect from 210.21.225.202: 11: Bye Bye
Nov 30 10:47:02 localhost sshd[32440]: Address 210.21.225.202 maps to sym.gdsz.cncnet.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Nov 30 10:47:02 localhost sshd[32440]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=210.21.225.202  user=root
Nov 30 10:47:04 localhost sshd[32440]: Failed password for root from 210.21.225.202 port 64468 ssh2
Nov 30 10:47:05 localhost sshd[32441]: Received disconnect from 210.21.225.202: 11: Bye Bye
Nov 30 10:47:08 localhost sshd[32444]: Address 210.21.225.202 maps to sym.gdsz.cncnet.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Nov 30 10:47:08 localhost sshd[32444]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=210.21.225.202  user=root
Nov 30 10:47:10 localhost sshd[32444]: Failed password for root from 210.21.225.202 port 65319 ssh2
Nov 30 10:47:10 localhost sshd[32445]: Received disconnect from 210.21.225.202: 11: Bye Bye
이것이 바로 SSH brute force 공격입니다.


SSH brute force prevent

1. 패스워드를 누구도 상상할 수 없는 엄청난 조합으로 만드는 것입니다. ^^
2. prevent 같은 방어 툴을 사용합니다.
3. iptables 로 수시로 접속을 시도하는 패킷에 대해 차단합니다.
4. ssh 포트를 변경하고, iptables 로 포트 스캔도 막습니다. (포트 변경 만으로도 방어가 가능한 것 같습니다.)


ssh port 변경

1. ssh 설정 파일 수정
# vi /etc/ssh/sshd_config
Port
32
PermitRootLogin no

2. iptables 수정
# dport 32 accept
/sbin/iptables -A INPUT -p tcp --sport 1024: --dport 32 -m state --state NEW -j
ACCEPT

3. iptables 적용 / ssh 재시작
# /etc/init.d/iptables save && /etc/init.d/sshd restart


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,