Secure SHell 의 약자
기본 포트 : 22
기본적으로 암호화 통신을 지원
ssh 서버 실행 파일 : /etc/sbin/sshd
ssh 클라이언트 실행 파일 : /etc/bin/ssh
기본 ssh 설정
vi /etc/ssh/sshd_config
#Port 22 : 임의의 port 번호를 지정해서 사용하는 환경이라면 번호 지정 후에 주석을 해제
#AddressFamily any : 접속하는 IP주소의 버전 (IPv4, IPv6)
#ListenAddress 0.0.0.0 : 주석을 해제하고 특정 ip를 지정하면 해당하는 ip에서만 접속이 허용
#Protocol 2: ssh의 프로토콜 버전
HostKey /etc/ssh/ssh_host_rsa_key : ssh2의 RSA 암호화방식에서 사용하는 호스트 키 위치
#HostKey /etc/ssh/ssh_host_dsa_key : `` DSA `` ``
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key : ssh 접속을 할 때 필요한 암호화 키가 저장되는 위치로 기본으로 default ECDSA_KEY 암호화 방식을 사용
KeyRegernerationInterval 1h : 서버는 암호화키를 이용해 접속
#PermitRootLogin no : root 계정으로 원격 접속 시 허용 여부를 정의, 허용하려면 주석을 해제하고 no --> yes로 바꾸면 root로 접속이 허용
..등등 많음
ssh의 용도
ssh 접속(rsh 기능, 원격 접속)
- ssh [user_account]@[destination_ip]
- exit하고 logout 하면 원래의 쉘로 돌아옴
- 초기에 접속하면 이 후 접속에 패스워드 없이 접속 가능
- ssh "hostname" "cmd"
- ssh -l abc hostname mkdir test
- hostname이라는 곳에 접속해서 mkdir test 명령을 내림
- ssh -l abc hostname mkdir test
- ssh -p 199 192.168.1.10
- 기본 포트는 22지만 199번을 이용하여 접속 시도
ssh와 rsync를 이용한 remote backup, remote copy
명령어
- rsync -av /home/home5
- /home을 유지하면서 /home5로 백업
- rsync -avz 192.168.2.20:/test /backup
- 해당 ip로 원격 접속 후 /test 파일을 압축해서 /backup으로 복사
- rsync -avz -e ssh abc@192.168.1.20:/test ~/backup
-e : 원격지 접속 시 프로토콜 지정 가능(default(생략 시): ssh)- 해당 ip로 abc계정 접속 후 test 파일을 압축해서 링크로 복사
예시
- 테스트 환경
- 백업대상서버(1) : 1.1.1.1 ssh포트는 22번
- 백업대상서버(2) : 1.1.1.2 ssh포트는 보안으로 100번사용중
- 백업서버 : 2.2.2.2 - 고려할 점
- - 백업 대상인 1.1.1.1, 1.1.1.2는 rsync가 깔리지 않아도 된다.
- 2.2.2.2는 rsync 프로그램이 반드시 깔려야 한다.
- - 백업 대상인 1.1.1.1, 1.1.1.2는 rsync가 깔리지 않아도 된다.
- backup
- [1.1.1.1의 backup]
rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.1:/.backup/ /.backup/start1/
[1.1.1.2의 backup]
rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.2#100:/.backup/ /.backup/www2/
- [1.1.1.1의 backup]
scp (파일 복사)
- 서버와 클라이언트 사이에 로그인하지 않고도 scp를 이용하여 원격으로 파일을 복사 가능
- $ scp "source_directory" "remote_ip":"remote_directory"
sftp(파일 로드)
- 연결된 두 시스템 간의 안전한 파일 전송
- 서버의 계정, 해당 파일의 경로를 알고 있다면 sftp를 이용해 파일을 가져올 수 있음
- 명령어를 통해 파일을 서버에서 클라이언트로 가져올 수 있음
- $ sftp://"account_name"@"ip""directory"
ssh 명령어 옵션
옵션 | 내용 |
-a | 인증 에이전트 전송을 불허 |
-e | 세션에 대한 이스케이프 문자를 설정 |
-f | 인증과 전송이 설정된 후에 백그라운드에서 ssh를 설정 |
-l | 원격 시스템에 사용할 로그인 이름을 설정 |
-p | 원격 호스트에 연결할 포트를 지정 |
-v | 디버깅모드 자세한 정보 표시 모드를 활성 |
-x | X11 전송을 불가능하게 설정 |
-L | 지정된 원격 호스트와 포트에 전송할 로컬 포트 설정 |
-R | 로컬 호스트와 지정된 포트로 전송될 원격 포트 설정 |
'SRE > Linux Basics' 카테고리의 다른 글
MySQL (0) | 2022.12.05 |
---|---|
FTP (0) | 2022.12.03 |
리눅스 원격 접속([Telnet, Putty, OpenSSH, XRDP) (0) | 2022.12.03 |
PackageManager (0) | 2022.12.03 |
tar (0) | 2022.12.02 |