CS/Linux

About SSH, scp

oxdjww 2023. 8. 6. 22:24
728x90
반응형

안녕하세요.

오랜만에 글을 쓰네요

 

BoB 생활을 하면서 linux를 정말 많이 접하게 되었습니다.

 

학부 1,2,3학년을 보내면서 linux를 많이 접해왔지만 여기서는 정말 매일같이 virtual machine을 켜고 끄고 있는데요...

 

linux의 편리한 사용을 위해 ssh 접속 많이들 쓰시죠?

 

삽질한 것 몇개를 정리해서 나중에 참고용으로 쓰려 합니다.

 

1. ssh connection with vscode

구글링을 하면 정말 많은 자료들이 있습니다.

많은 분들의 좋은 자료로 시도해보았지만 저는 매번 한결같은 오류들을 만났습니다.

 

우선 전형적인 연결 방법을 설명드리겠습니다.

 


 

1. linux terminal에서 ifconfig 명령어로 ip주소 획득

2. vscode에서 f1클릭 -> 호스트에 연결

 3. ssh "linux username"@"1에서 획득한 ip주소"를 을 입력 후 엔터

4. 그러면 로딩이 되면서 OS를 선택할 수 있고 pw를 입력하면 연결이 됩니다.

 

4-1. 하지만 저는 연결에 실패합니다..

ssh connection timeout

이 오류 아니면 "없는 파이프라인에 쓰려고 했습니다" 였나.. 여튼 그랬습니다.

 

그렇게 실패해서 거의 포기상태로 매번 linux vim에서 코드를 작성했습니다.

 

그러던 중 방화벽 문제일수도  있다는 생각이 들어

$ sudo ufw allow 22
$ sudo ufw reload

방화벽으로 22번 포트를 열어주고 규칙을 재적용했습니다.

 

혹시 위에 두개 했는데도 연결 안 되면 sudo apt install ssh 이거 했나 확인 해주세요..

 

이 방법으로 해결할 수 있었습니다!

 

그리고 한번 ssh 접속을 하면 ssh 구성파일에 정보가 저장되는데, 이 곳에 rsa 개인키의 디렉터리를 넣어주시면 다음부터 비밀번호 입력없이 "호스트에 연결" 버튼만으로 ssh 접속을 할 수 있습니다.

 

window powershell에서

$ ssh-keygen

입력 후 엔터를 몇번 눌러 디폴트값으로 key generate 해줍니다.

 

그리고 ~/.ssh 디렉터리로 가서 id_rsa.pub 값을 복사합니다.

그 후 linux에서 authorized_keys 파일을 만들어서 id_rsa.pub의 값을 복사하여 넣어줍니다.

$ vim ~/.ssh/authorized_keys

 

그 이후부터 비밀번호 없이 ssh 접속 가능해집니다.

 

2. scp

guest os(linux)에서 host os(windows)로 파일을 전송할 일이 상당히 많습니다.

 

이 때 매번 메일을 이용하기 보다는 scp를 이용하여 스마트하게 파일을 전송할 수 있습니다!

 

하단은 linux에서 windows로 파일을 전송받는 예시입니다.

 

$ scp user@123.123.123.123:/home/username/main.c C:\Users\username\Desktop

  sender의 username과 ip주소, 전송할 파일의 경로를 적어주고 reciever에서 파일을 받을 경로를 적어주면 됩니다.

 


 

기본적이지만 실용적인 명령어들을 알아보았습니다!

 

linux는 공부할수록 더더 어려운 것 같습니다.

 

나중에 시간을 꼭 내서 linux에 대해 제대로 공부해볼 계획입니다.

 

읽어주셔서 감사합니다!

 

728x90
반응형

'CS > Linux' 카테고리의 다른 글

Linux Command 'chmod'  (0) 2023.09.27