SSH (stands for Secure shell)
shell은 linux system으로가는 인터페이스를 제공한다.
내 커맨드를 번역해서 하드웨어를 관리하는 커널에 전달한다.
ls나 pwd, cp 같은 명령을 받으면 쉘이 커널로 명령으를 전달하여 하드웨어를 컨트롤한다.

$ 일반 유저면 달러가
'# 루트 사용자면 샾이
ssh 서비스 기본 포트는 22.
-- root 권한 얻기 --

Idle timeout은 컴퓨터 시스템, 네트워크 장비, 또는 소프트웨어에서 비활성 상태가 일정 시간 지속될 때 자동으로 연결을 종료하거나 세션을 종료하는 기능
설정 전 백업 필수
cp /etc/ssh/sshd_config /etc/ssh/sshd_config-orig
vi /etc/ssh/sshd_config
shift + g 를 눌러 제일 밑으로 간다.

아래 값을 추가한다.
# Setting timeout interval
ClientAliveInterval 600
ClientAliveCountMax 0
-
재설정
systemctl restart sshd
어떤 사용자도 루트로 로그인 불가능.
지금은 yes로 되어있는데 no로 바꾸면 바뀐다.
vi /etc/ssh/sshd_config

재설정
systemctl restart sshd
To Prevent remote logins from accounts with empty passwords
EmptyPasswords 부분 주석을 제거하면 된다

vi /etc/ssh/sshd_config
재설정
systemctl restart sshd
특정 유저만 접근할 수 있게 해준다.
vi /etc/ssh/sshd_config
아래를 추가해준다.
AllowUsers user1 user2

재설정
systemctl restart sshd
기본으로 ssh Port는 22번이다. 해커들이 22번 포트를 찾아다니기 때문에 ssh 포트를 22번이 아닌 다른 포트로 바꾸면 조금 더 안전 해줄 수 있다.
vi /etc/ssh/sshd_config
Port 22 가 보이는가?
주석(#)을 제거하고 원하는 포트를 입력하면 된다.

재설정
systemctl restart sshd
이렇게하면 22포트로는 못들어간다.
putty를 쓸때 ssh 포트를 다시 지정해야한다.
리모트 머신에 접근하는 두가지 이유
반복적인 로그인 (힘들잖아)
스크립트를 통한 자동화 (권한 문제)
-- 반복적인 인증문제와 권한 문제를 해결하기 위해 SSH-KEY를 만들어서 접속한다. --
특징
Key들은 유저레벨에서 생성된다. (root or other users..)
테스트
서버 한대와 클라이언트 하나가 있으면 된다.
본래 같으면 ssh 로 접속하면 username과 password를 입력해서 들어간다.
하지만 여기서는 아니다.
client가 ssh-key를 생성한다. (Copy over the Keys from client to server)
그리고 서버에 ssh-key를 전달한다.
그 후 클라이언트가 ssh-key를 사용하여 server에 접속한다.
예를 들면 사람이 집에 들어갈 때 비밀번호를 입력하고 들어가는데.(정석 ssh 접근)
ssh-key 방식은 인증을 담당하는 담당자에게 열쇠를 넘겨주고 뱃지같은 것을 보여주면서
확인 절차를 대신하는 것.
몇 단계를 걸쳐야지
Client 가 해야하는 일
Step 1 - Generate the Key
ssh-keygen
Step 2 - Copy the Key to the server
ssh-copy-id root@[serverip주소]
Step 3 -- Login from client to server
ssh root@[serverip주소]
ssh -l root serverip주소