ssh 와 깃 허브
1. ssh란?
google remote (원격 데스크톱)
-> 원격으로 들어가고싶으면 포트를 열어야한다 (랜덤한 포트)
ssh 란? 구글 크롬(원격 데스크톱)과 비슷하며, 특히 리눅스에 연결하기 적합함
http 는 포트 80 // https 는 443 // ssh는 22 포트를 주로 사용한다
해커들이 랜덤한 ip를 무작위로 접근하는 것을 막기 가장 기본적인 방법이 포트를 변경해 주는 것 이다.
C:\Users\admin\.ssh\config 와 같은 경로에 있는 config 파일에는 다음과 같이 ssh가 연결된 목록들을 확인할 수 있다
Host hostName
HostName ip
User user
Port port
IdentityFile "C:/key/exhi_key.pem"
위와같이 ip와 port, key 파일을 설정했다면, powerShell에서
ssh hostName
위의 명령어로 해당 서버에 접근할 수 있다.
2. 리눅스 / 유닉스 읽기 쓰기 권한
ssh에서는 쓰기/읽기 등의 권한이 중요하다.
기본적으로 리눅스/유닉스
맨 앞의 것을 제외하고는 권한에 대한 내용이다.
rwx rwx rwx
소유주(ec2_user, exhi_user) / 그룹 소유주 (apache,exhi_user) / 그외 (others)
r : 4
w : 2
x : 1
디렉토리에 접근하기 위해서는 r과 w가 함께 허용되어 있어야한다.
sudo -s (루트로 이동하는 명령어)
su 사용자이름 (사용자를 변경하는 명령어)
ls -al (현재 디렉터리의 권한을 보여줌)
git bash는 리눅스이기 때문에, 윈도우와 이용 방법이 다른 것에 유의하자
chmod ( 권한을 변경하는 명령어 )
chmod (ugo)(+-)(rwx) -> 이런 형태로 사용
ex) chmod g+wx filename -> filename 폴더의 g(그룹) 권한에 wx를 추가한다
ex) chmod 664 filename -> 해당 폴더의 권한을 rw- rw- r-- 로 설정함
ssh는 서버와 클라이언트간에 인증을 담당하는 key 설정이 있기 때문에, 외부에서 접근하기 위해서는 key가 있어야 한다.
github 계정의 setting에 ssh , gpg key에 해당 ,pub를 추가하면 ssh 주소로 git clone을 할수 있게 된다
https 와 ssh는 인증하는 방식이 다르다.
https는 기본적으로 인증이 완료되어있기 때문에 쉽게 이용할 수 있는 것이다.
ssh 폴더의 autholize~~ 파일에 ssh키를 개인적으로 추가할 수 있다.
링크
https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent