php

ssh 와 깃 허브

hojomu 2023. 8. 23. 19:50

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 (현재 디렉터리의 권한을 보여줌)

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