문서의 이전 판입니다!
AddressFamily inet
를 추가한다.ssh-keygen -t rsa
id_rsa
파일은 개인키로 자신의 PC(Client)에 둔다.*.pub
파일은 공개키로 접속 대상 서버 계정의 ~/.ssh/authorized_keys
파일에 그 내용을 추가한다.~/.ssh
에 있는 파일은 600
권한으로 설정해야한다.ssh-agent
에 Private Key를 등록해서 SSH 터널링시 자동 접속 할 수 있다.ssh-agent
는 exec ssh-agent /bin/bash
로 실행해야 한다.exec ssh-agent /bin/bash ssh-add ~/.ssh/id_dsa
/etc/motd
파일 편집하면 SSH 접속시 인사말을 지정할 수 있다.~/.ssh/config
를 통해 SSH 접속을 단순화할 수 있다.~/.ssh/config
# 기본형태. ~/.ssh/id_rsa 를 사용할 경우 혹은 일반 비밀번호 인증의 경우 Host dev HostName IP 혹은 hostname User 계정명 # 특정 key 지정 Host company HostName IP 혹은 hostname User 계정명 PreferredAuthentications publickey IdentityFile ~/.ssh/[private key] # github.com git 계정 접속시에 대한 처리 Host github.com User git IdentityFile ~/.ssh/[github private key] # 동일 2차 도메인 사용시 Host *.example.com User 계정명 PreferredAuthentications publickey IdentityFile ~/.ssh/[private key]
/etc/ssh/ssh_config
파일에 다음을 추가ServerAliveInterval 60 # 60은 60초를 의미함. 60초마다 null 패킷 전송
~/.ssh/config
Host * ServerAliveInterval 60 # 혹은 특정 호스트 지정 Host *hostname.com ServerAliveInterval 60
ssh 10.0.0.4 "cat /tmp/backup.sql | gzip -c1" | gunzip -c > backup.sql # or ssh 10.0.0.4 "gzip -c /tmp/backup.sql" |gunzip > backup.sql # 압축을 풀 생각이 없다면 ssh 10.0.0.4 "gzip -c /tmp/backup.sql" > backup.sql.gz
# gzip 보다 압축률 좋은 xz 사용. tar cJ a/dir | ssh user@remotehost.com "cat >outfile.tar.xz"
# 비밀번호 직접입력 sshpass -p비밀번호 ssh -o StrictHostKeyChecking=no 아이디@호스트주소 명령어 # 비밀번호 파일. 일반 텍스트로 비밀번호 넣어둠. 파일 권한을 others, group은 읽고 쓰기 못하게 할 것. sshpass -f /path/to/passfile ssh -o StrictHostKeyChecking=no 아이디@호스트주소 명령어
아래는 긴 명령을 ssh를 통해 실행하는 방법이다. 예제 자체는 jstat
으로 GC 상황 모니터링하는 것.
ssh myhostname 'bash -s' <<'ENDSSH' jstat -gcutil `jps | grep Bootstrap | awk '{print $1}'` 1s ENDSSH