본문 바로가기
Development/Free Topic

SSH로 접속하기 및 Putty 사용법

by 곽동현 IMCOMKING 2020. 6. 21.

Server 세팅

sudo apt-get update

sudo apt install openssh-server


sudo systemctl enable ssh : 시스템 시작시 ssh 서버 자동 실행하기

sudo systemctl status ssh : ssh 서버 상태확인

sudo systemctl start ssh : ssh 서버 열기

sudo systemctl stop ssh : ssh 서버 닫기


sudo vim /etc/ssh/sshd_config : ssh 서버 설정

sudo service ssh --full-restart : 옛날 방식 서버 열기



Client에서 Putty 세팅

Putty/Puttygen 다운로드

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html


Putty 폰트 설정

Window-Appearance-Change-돋움체, 13포인트


Putty에서 ctrl+shift+c/v 로 복사붙여넣기 설정

Window-Selection-Ctrl + Shift + {C, V} : System clipboard




Putty 접속 시 Ubuntu에서 ctrl + arrow키로 건너뛰기 옵션 사용하기

다음 파일을 만들고, 아래 내용을 저장한다.

vim ~/.inputrc

"\eOD": backward-word

"\eOC": forward-word



Putty 접속 시 Home/End/PageUp/PageDown 키 정상 작동 시키기

Connection > Data > Terminal-type string에 써 있는 문자열을 "xterm"에서 "linux"로 변경

https://qastack.kr/superuser/94436/how-to-configure-putty-so-that-homeendpguppgdn-work-properly-in-bash




Putty with SSH keys


SSH public key를 remote 머신에 자동으로 등록하기

1. ssh key pair를 생성한다.

ssh-keygen -t rsa -C "my@email.com"


2. 생성한 ssh의 public key를 remote 머신에 등록한다.

ssh-keygen 으로 생성된 pub_key를 복사해서 remote 서버의 .ssh/authorized_keys 파일을 열어서 맨 아래에 붙여넣기 한다.
이렇게 pub_key를 등록하면, 그에 대응되는 priviate key로 전부 접속이 가능하다. private key를 복사해서 다른사람이 공용으로 접속하는것도 당연히 가능하다.

이 과정을 수동으로 remote 머신의 ~/.ssh/authorized_keys에 복사해서  붙여넣기 해도되지만, ssh-copy-id를 이용하면 매우 쉽게 가능하다.

수동

cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

자동

ssh-copy-id user_id@remote.ip.address

이것을 실행하면 자동으로 .ssh/authorized_keys밑에 id_rsa.pub을 붙여넣어준다.




SSH private key를 이용해서 접속하기

OpenSSH SSH-2 private key (old PEM format) 문제해결

Connection - SSH 에서 Remote Command 부분에 수동으로 ssh 접속 커맨드를 작성한다.
ssh -i id_rsa.ppk azureuser@ip.add.ress

또는 puttygen을 이용해서 기존에 생성해둔 키를 putty 버전의 .ppk파일로 변환하여 사용한다.
Connection - SSH - Auth 에 .ppk파일을 등록한다.








ssh 터널링

ssh -L 50001:localhost:50001 -i ~/ssh_pubkey/nsml_jp -p 30022 root@10.122.77.197
ssh에 존재하는 막강한 기능. ssh를 접속하면서 remote에 있는 임의의 포트를 맵핑시켜서 내맘대로 사용할 수 있다. ssh로 접속하면서 -L로 이렇게 위와같이 입력하면, 50001포트를 특정 URL과 포트로 맵핑시킬 수 있음. 그래서 docker container 만들 때 포트를 안열어뒀더라도 마음대로 임의의 포트를 사용할 수 있음. 단 이걸하려면 매번 ssh가 접속되어 있어야함. 그게 싫으면 도커 컨테이너를 새로 만들어야함.





댓글0