Monday, May 2, 2016

Ssh

ssh key 로그인


[Client] ssh-keygen 으로 key 생성하기(dsa|rsa)

$ ssh-keygen -t rsa -f ~/.ssh/example_rsa

.
Enter passphrase (empty for no passphrase):  [Enter]
Enter same passphrase again: [Enter]

[Client] key 생성 확인

$ ls -al ~/.ssh/example_rsa*

-rw------- 1 root root 668 2013-03-19 16:03 example_rsa
-rw-r--r-- 1 root root 604 2013-03-19 16:03 example_rsa.pub

[Client] key 등록

$ vi ~/.ssh/config

IdentityFile     ~/.ssh/example_rsa

$ chmod 644 ~/.ssh/config

[Client->Server] key 복사(Server로)

$ scp ~/.ssh/example_rsa.pub root@example.com:~/.ssh/authorized_keys
$ ssh root@example.com "chmod 700 ~/.ssh"
$ ssh root@example.com "chmod 644 ~/.ssh/authorized_keys"

[Client->Server] key 로그인 확인

$ ssh root@example.com

Last login: Tue Mar 19 16:32:21 2013 from 10.10.10.11
[root@example ~]# 

ssh 파일 전송


scp(Upload)

$ scp -r /home root@example.com:/home/

scp(Download)

$ scp -r root@example.com:/home /home/

ssh(Upload)

$ tar cp /home | ssh root@example.com "tar xvp -C /home/"

ssh(Download)

$ ssh root@example.com "tar cp /home" | tar xvp -C /home/

ssh 호스트키 체크 비활성화


$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=quiet root@example.com

UserKnownHostsFile=/dev/null
known_hosts 파일을 남기지 않도록 설정

StrictHostKeyChecking=no
host key check 를 하지 않도록 설정

LogLevel=quiet
경고 메시지 출력 되지 않도록 설정(Warning: Permanently added…)

sshpass 를 이용한 패스워드 입력 자동화


sshpass 설치
$ yum install sshpass

sshpass 실행
$ sshpass -pPASSWORD ssh root@example.com id

uid=0(root) gid=0(root) groups=0(root)

기타


한줄로

config 생성
$ echo "IdentityFile ~/.ssh/example_rsa" >> ~/.ssh/config

authorized_keys 생성
$ read skey < ~/.ssh/example_rsa.pub; ssh root@example.com "mkdir ~/.ssh;echo $skey >> ~/.ssh/authorized_keys"



Post a Comment