티스토리 뷰
728x90
반응형
Access to remote server using ssh key with iterm2
환경
- Mac OS
- ssh-keygen (SSH에 사용할 키 발급)
- ssh-copy-id (발급된 공개키를 서버에 전송)
- 원격 서버 (Ubuntu 16.04) 및 사용자
서버에 사용자가 추가되어 있다고 가정한다. 사용자 추가에 대한 부분은 많은 자료들이 존재하므로 참고하도록 한다.
ssh-copy-id 설치
ssh-copy-id
는 로컬에서 발급된 공개키를 서버로 전송할 때 사용하는 패키지다.
$ brew install ssh-copy-id
SSH Key 발급
~/.ssh
폴더를 기준으로 한다.
# ssh-keygen [-t] [rsa] [-b] [2048]
# -t : dsa, ecdsa, ed25519, rsa, rsa1 중에 어떤 암호화 알고리즘을 선택할지 지정 (기본 값, rsa)
# -b : key를 생성할 때 bit 수 지정 (기본 값, 2048)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/<현재 사용자>/.ssh/id_rsa): <<< 여기에 저장될 파일 경로 또는 파일명 입력
Enter passphrase (empty for no passphrase): <<< 비밀번호로 사용할 값
Enter same passphrase again: <<< 다시 입력
Your identification has been saved in <파일명>
Your public key has been saved in <파일명>.pub.
키 파일에 대한 권한 문제
ssh-key을 통해서 처리한 경우는 문제가 되지 않을 수 있지만 수동으로 처리한 경우는 다음과 같이 파일 권한을 설정해 줘야 한다.
- 공개 키 : 0644 (-rw-r--r--)
- 개인 키 : 0600 (-rw-------)
위와 같이 권한을 설정해 주지 않으면 원격 서버에 연결했을 떄 오류가 발생하며 접속이 허용되지 않는다.
발급된 공개 키 서버로 전송
별다른 입력이 없이 기본으로 처리했다면 ~/.ssh
폴더에 private key와 public key 파일이 생성된다.
파일명을 test
라고 지정했다면 'test', 'test.pub' 파일이 존재할 것이다.
# ssh-copy-id -i [key path or name] [username in server]@[server ip]
$ ssh-copy-id -i test.pub ccambo@192.168.10.44
/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "test.pub"
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
test@[IP Address]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'test@[IP Address]'"
and check to make sure that only the key(s) you wanted were added.
실체 키 추가 여부는 지정한 서버의 사용자로 로그인을 해서 ~/.ssh/authorized_keys
파일에 지정한 키가 제대로 추가되었는지 확인하면 된다.
SSH로 접속하기
# ssh -i [private key name] [username in server]@[server id] -p [port number]
$ ssh -i test ccambo@192.168.10.44
SSH 접속 설정하기
~/.ssh/config
파일을 통해서 접속을 쉽게 처리할 수 있다.
config 파일이 경로에 없다면 생성한다.
$ cd ~/.ssh
$ touch config
config 파일을 열고 아래와 같이 설정해 주면 된다.
Host ccamboServer
HostName [IP Address]
User [Username]
Port [Port Number]
IdentityFile ~/.ssh/[private key name]
Host Name2
HostName [IP Address]
User [Username]
Port [Port Number]
IdentityFile ~/.ssh/[private key name]
설정을 통해서 SSH 접속은 다음과 같이 지정한 Host 이름을 기준으로 하면 된다.
# ssh [host name in config file]
$ ssh ccamboServer
참고 자료
728x90
반응형
'개발 > 기타공통' 카테고리의 다른 글
[Opencensus - Trace] Opencensus를 이용한 gRPC Global Tracing (0) | 2020.12.20 |
---|---|
[Opencensus - Trace] Opencesus를 활용한 Trace 정리 (0) | 2020.12.19 |
[macOS] oh-my-zsh 설치 및 Item2 적용 (0) | 2020.12.19 |
[macOS, GIT] Mac Book에 Git 설치 (0) | 2020.12.17 |
[CentOS 8] Python 2 / 3 설치하기 (0) | 2020.12.16 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Kudo
- 쿠버네티스
- kudo-cli
- custom resource
- CentOS 8
- Galera Cluster
- zookeeper
- ssh
- operator framework
- Packages
- docker
- provisioner
- Node
- GIT
- KUBECTL
- SolrCloud
- CentOS
- terrminating
- dynamic nfs client provisioner
- leader
- Replica
- NFS
- opencensus
- macos
- operator
- Cluster
- k8s
- Kubernetes
- galera
- collection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함