차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:ssh_자동_로그인 [2015/02/22 19:36] – [확인] V_L | tech:ssh_자동_로그인 [2019/08/21 05:25] (현재) – 219.240.210.166 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | {{tag> | ||
====== SSH 자동 로그인 ====== | ====== SSH 자동 로그인 ====== | ||
- | " | + | [[ssh|SSH]]로 |
+ | " | ||
+ | 이 과정을 | ||
공개키 암호화는 암호화하는 키와 복호화하는 키가 서로 다를 수 있는 암호화 방식이다. | 공개키 암호화는 암호화하는 키와 복호화하는 키가 서로 다를 수 있는 암호화 방식이다. | ||
줄 10: | 줄 13: | ||
다음과 같이 하면 된다 . | 다음과 같이 하면 된다 . | ||
- | ==== 클라이언트==== | + | ===== 클라이언트===== |
- | 클라이언트의 터미널 창에서 하는 작업이다. (osx의 경우 | + | 클라이언트의 터미널 창에서 하는 작업이다. (osx의 경우 |
+ | ([[SSH]]만 설치되어 있으면 자동 로그인을 구현할 수 있는 Ubuntu와는 달리, Windows 환경에서는 [[Putty]]나 Tera Term 등 콘솔 접속 프로그램의 도움을 받아야 RSA 키를 생성할 수 있다.) | ||
+ | |||
+ | ====macOS==== | ||
1. 로컬 계정으로 접속 한다. 예) openwiki | 1. 로컬 계정으로 접속 한다. 예) openwiki | ||
- | 2. 홈디렉토리에서 ssh-keygen 명령으로 passphrase 에 암호를 입력하여 키를 생성한다. | + | 2. 홈디렉토리에서 ssh-keygen 명령으로 |
< | < | ||
- | ssh-keygen -t rsa< | + | $ ssh-keygen -t rsa< |
Generating public/ | Generating public/ | ||
- | Enter file in which to save the key (/home/user1/ | + | Enter file in which to save the key (/home/openwiki/ |
Enter passphrase (empty for no passphrase): | Enter passphrase (empty for no passphrase): | ||
Enter same passphrase again: < | Enter same passphrase again: < | ||
- | Your identification has been saved in /home/user1/ | + | Your identification has been saved in /home/openwiki/ |
- | Your public key has been saved in /home/user1/ | + | Your public key has been saved in /home/openwiki/ |
The key fingerprint is: | The key fingerprint is: | ||
- | XX: | + | XX: |
</ | </ | ||
줄 35: | 줄 41: | ||
합계 12 | 합계 12 | ||
< | < | ||
- | -rw------- | + | -rw------- |
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
+ | 비밀키는 자신의 계정폴더의 .ssh에 그대로 두면 된다. | ||
+ | |||
+ | ====윈도우==== | ||
+ | |||
+ | '' | ||
+ | [[http:// | ||
+ | [[winscp|WINSCP]]를 설치했다면 같이 설치되므로 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | '' | ||
+ | |||
+ | 공개키 id_rsa.pub 와 비밀키 id_rsa 를 저장한다. | ||
+ | |||
+ | 비밀키를 적당한 폴더에 저장하고, | ||
+ | |||
+ | |||
+ | |||
+ | =====서버측 작업===== | ||
이제 이 공개키 파일인 '' | 이제 이 공개키 파일인 '' | ||
- | ====서버측 작업==== | ||
1. 서버에 openwiki 아이디로 로그인 한다. (openwiki 뿐 아니라 다른 계정에서도 같은 작업을 하면, 그 계정으로 접근 됨.) | 1. 서버에 openwiki 아이디로 로그인 한다. (openwiki 뿐 아니라 다른 계정에서도 같은 작업을 하면, 그 계정으로 접근 됨.) | ||
- | 2. ''/ | + | 2. ''/ |
cat id_rsa.pub >> authorized_keys< | cat id_rsa.pub >> authorized_keys< | ||
chmod 600 authorized_keys< | chmod 600 authorized_keys< | ||
- | 혹은 | + | '' |
====확인==== | ====확인==== | ||
- | 1. B 클라이언트에 | + | 클라이언트에서 서버로 openwiki계정을 사용해서 |
- | ssh user1@xxx.xxx.xxx.xxx | + | ssh openwiki@xxx.xxx.xxx.xxx |
- | Enter passphrase for key '/ | + | Enter passphrase for key '/ |
+ | (키 생성시 암호 입력을 안했다면 묻지 않고 바로 접속됨.)> | ||
+ | 비밀키가 유출되면 서버가 바로 뚫리므로 주의한다. | ||
+ | =====잘 안될 때===== | ||
- | (키 생성시 암호 입력을 안했다면 | + | 서버에 공개키를 넣었는데도 SSH 로그인 할 때 마다 비밀번호를 물어본다면, 다음을 확인한다. |
- | ====참고==== | ||
+ | ====권한==== | ||
+ | 우선 .ssh 디렉토리와 authorized_keys 파일의 권한을 확인한다. .ssh는 0700, authorized_keys는 0600으로 설정되어 있어야 한다. | ||
+ | |||
+ | |||
+ | |||
+ | chmod 0700 ~/.ssh | ||
+ | chmod 0600 ~/ | ||
+ | |||
+ | |||
+ | ====설정==== | ||
+ | |||
+ | 서버에서 공개키 기반 인증이 허용되어 있어야 한다. | ||
+ | |||
+ | RSAAuthentication yes | ||
+ | PubkeyAuthentication yes | ||
+ | AuthorizedKeysFile | ||
+ | 주석을 풀고 sshd를 재기동한다. | ||
+ | |||
+ | sudo service sshd restart | ||
+ | |||
+ | =====참고===== | ||
+ | |||
+ | * [[ssh]] | ||
+ | * [[putty]] | ||
* https:// | * https:// | ||
+ | * http:// | ||
+ | |||
- | {{tag> |