관리 메뉴

Mini

[Linux] pw 없이 접속하기, ssh-keygen, 배포하기 본문

CS/Linux

[Linux] pw 없이 접속하기, ssh-keygen, 배포하기

Mini_96 2024. 9. 5. 01:42

* ip 별칭 생성하기

  • ssh 접속할때마다 ip를 기억해야하는것은 너무 귀찮다.
  • 아래 파일을 수정하자
sudo vi /etc/hosts

192.168.56.1 의 별칭은 hobuntu
dd : 한줄삭제

이후 :wq => 변경사항 저장, 종료

 

* pw 없이 접속하기

  • 우선 내 컴퓨터에서 ssh-keygen을 생성한다.
  • 공개키를 복사해서 우분투에 보내야한다.

잘 생성된 모습

id_ed.pub가 자물쇠 //공개키

cyberduck을 사용해도 된다. for file전송

윈도우에서 우분투로 파일보내기
결과

  • 이걸 cat/ssh/authorized_keys에 복붙 ( 윈도우 키를 "추가" 해야함) 덮어쓰기 하면 망함!

>> 연산자 => 뒤에 추가해줘

  • 대문을 하나 추가한 효과!!
    • 우리는 윈도우에 자물쇠(public key)에 맞는 열쇠(private key)를 가지고 있으므로 문이 열린다!

이제 비밀번호를 안물어본다!!

 

* 우분투에 node js 최신버전 설치

결과 (터미널 재실행 필요)
test용 폴더 만들기

 

* 프로젝트 git clone 하기, 실행하기

특정 브랜치만 클론 / (비밀번호에 광기로 accesstoken 직접 입력함)
.env 파일 보내기
결과
pm2 설치후 실행하기 / status가 online이면, 터미널을 닫아도 실행된다고 한다. -> 실험완료.
결과

* issue

  • window-linux path issue?

순간 식겁했다.

윈도우에서 개발했더니 path issue인줄알고 모든 path를 바꿔줘야되나 생각했다.

그냥 주석처리했더니 정상실행 되었다. (뭐지???)

 

IntelliJ에서 SSH 연결하는 방법 - Linux 원격 접속

🟡 IntelliJ에서 SSH 연결 설정하기 - Linux 웹서버를 윈도우에서 사용하기 📖 리눅스 웹 서버에 접속하거나 파일을 보내기 위해서는 PuTTY나 FileZilla와 같은 프로그램을 사용해야 한다. 그게 아니라

ye5ni.tistory.com

 

* todo

  • 자동화 쉘 스크립트 작성
  • 실제 web에 배포
# MySQL 서버 시작
sudo systemctl start mysql

# 디렉토리로 이동
cd /home/joyjhm/todo-server

# 디렉토리가 존재하면 강제로 삭제
if [ -d "web-p1-taskify" ]; then
  sudo rm -rf web-p1-taskify
fi

# GitHub 리포지토리 클론 (SSH 사용)
git clone -b J217 git@github.com:ㅁㅁㅁ/web-p1-taskify.git

cd web-p1-taskify

# 환경변수 파일 프로젝트로 복사
cp /home/aaa/todo-server/.env /home/aaa/todo-server/web-p1-taskify/.env

# package 다운
npm install

# 서버 실행
node app.js

echo "success"