본 과제는 기본적인 리눅스 쉘 명령어를 통한 디렉토리 조작 능력과 CLI 명령어를 통한 기본적인 Git 조작 능력을 함양하기 위함입니다. 앞서
~/.ssh
파일에 Github 과 소통하기 위한 키 등록이 되어있어야합니다.
앞선 수업에서 진행했던 Github 과의 SSH 접속 설정을 제대로 따랐다는걸 가정
<aside> 🛠 수업 실습 : 원격 Github 과 로컬 Git 과 SSH 통신하기 위한 보안 설정
ssh-keygen -t ed25519 -C "[email protected]"
: SSH 키 생성기로 비공개/공개키 생성아래의 절차를 따라합니다. 익숙하지 않다면 끝나고 다시 처음부터, 반복적으로 하는것을 추천드립니다.
pwd
: 처음 켜졌을때 나의 위치가 어딘지 확인해봅니다.cd
: 내 위치에서 /
(Root) 로 이동해보았다가, ~
(Home directory) 로 이동해봅니다.cat
: ~/.ssh
디렉토리 내에 있는 known_hosts
파일을 읽어봅니다.<aside> ✔️ SSH 에서 known_hosts 파일의 목적은 무엇인가? (출처 : 리눅스 known_hosts 트러블슈팅)
known_hosts
known_hosts 파일은 클라이언트가 SSH로 접속하는 원격 서버의 호스트 키(SSH 호스트의 공개키)를 저장하는 파일입니다. 클라이언트가 처음으로 원격 서버에 접속할 때, 서버의 공개키를 받아와서 이 파일에 저장합니다. 이후에 클라이언트가 같은 서버에 접속할 때마다 known_hosts 파일을 확인하여 서버의 공개키가 변경되지 않았는지 검사합니다. 변경이 감지되면 클라이언트는 경고를 표시하고 연결을 거부합니다. 이 파일은 보안을 강화하고 중간자 공격을 방지하기 위한 목적으로 사용됩니다. = to check that it isn't connecting to an impersonator.
authorized_keys 파일은 원격 서버에 로그인할 때 사용자의 인증을 위해 사용되는 공개키를 저장하는 파일입니다. 클라이언트 측에서 생성된 개인키와 서버 측의 authorized_keys 파일에 저장된 공개키를 비교하여 인증을 수행합니다. 클라이언트 측의 공개키가 authorized_keys 파일에 등록되어 있어야 원격 서버에 접속할 수 있습니다. 이를 통해 비밀번호 없이 안전한 로그인을 가능하게 합니다.
known_hosts 파일은 클라이언트 측에서 원격 서버의 호스트 키를 저장하는 데 사용되며, authorized_keys 파일은 서버 측에서 클라이언트의 공개키를 저장하는 데 사용됩니다.
</aside>
grep
: known_hosts
파일내에 저장된 [ssh.github.com]
호스트를 찾아서 해당 라인들을 삭제한다.처음부터 개인/팀 프로젝트를 시작할때, 여러분들의 로컬에서 시작하여 원격으로 푸시하게될겁니다.
cd
: 현재 내 위치가 ~
(Home directory) 가 아니라면 ~
(Home directory) 로 이동합니다.mkdir
: ~
(Home directory) 에서 git-tutorial
디렉토리를 만들고 해당 디렉토리로 이동합니다.
rm
: 만약 실습때 진행했던 git-tutorial
이 있다면 삭제하고 진행합니다.touch
: 현재 위치의 디렉토리(~/git-tutorial/
)에서 README.md
빈 텍스트 파일을 생성합니다.ls
: Git 활성화가 안되어있는것의 여부를 .git
디렉토리의 존재로 확인합니다.