Root Login
ssh 접속이 제한 되어 로그인이 안되는 경우
vi /etc/ssh/sshd_config 에 들어가서
PermintRootLogin 을 찾는다.
PermitRootLogin no 나 prohibit-password 라고 되어 있었다.
PermitRootLogin yes 로 바꿔주고
systemctl restart sshd 로 설정 후 재시작 명령을 해주니
ssh 접속에 root로 로그인 할 수 있었다.
VNC??
PermitRootLogin prohibit-password 로 설정되어있으면, 패스워드를 입력하는 방식으로 접속할 수 없다.
RSA 방식 로그인
RSA 로그인 - 대괄호 [ ] 는 편의상 작성한 것으로 실제로는 타이핑 하지 않음
rsa 암호는 공개키 암호시스템이다. 통신내용을 열고 잠그는 상수(constant)로 사용하며 공개키(public key)와 개인키(private key)
2개의 키를 이용한다. 공개키는 다른 사람이 알아도 되지만, 개인키는 알려져선 안된다.
ssh-keygen -t rsa -b [키의 크기]
키 생성 위치를 작성하는데 default 값은 Home/.ssh 다.
생성 후 비밀번호 작성, 입력 값이 없으면 자동 로그인
키는 2가지 id_rsa. id_rsa.pub 가 생성이 된다.
이후 공개키 (id_rsa.pub)를 서버에 이동시켜야 한다.
ssh-copy-id -i/.ssh/id_rsa.pub [사용자이름]@Local_host
ssh-copy-id에서 -i 옵션을 사용하지 않으면 default값인 /.ssh/id_rsa.pub을 복사한다.
-i 옵션을 통해 경로를 지정해 특정 파일을 선택할 수 있다. ssh-copy-id 는 public key를 authorized_keys에 복사한다.
공개키는 authorized_keys에 있어야 한다.
다음으로 위에서 작성한 사용자의 비밀번호를 입력하면 키가 복사된다.
ssh [사용자이름]@Local Host 를 쓰면 로그인 된다.
공개키로 문제가 발생한다면 모종의 이유로 authorized_keys에 공개키가 들어가 있지 않거나 권한 문제가 있을 수 있다.
vi /etc/ssh/sshd_config에 들어간다.
PubKeyAuthentication yes로 바꿔 공개키 기반으로 바꿔주고
AuthorizedKeyFile 의 주석을 풀어주고 공개키의 경로를 작성한다.
PasswordAuthentication no -> 비밀번호로 로그인을 비활성화 한다.
개인키는 권한이 600이 좋다고 한다.
chmod 600 id_rsa 로 권한을 변경한다.
hosts allow,deny
추가로 vi /etc/hosts.allow 와 vi /etc/hosts.deny를 이용하여
host.allow에 (sshd:접속을 허용하는 ip)를 하단에 작성하여 허용하는 ip를 지정할 수 있고
host.deny에 (sshd:접속을 불허하는 ip)를 하단에 작성하여 특정 ip의 접속을 차단할 수 있다.
sshd : ALL 을 통해 allow에 작성되지 않은 ip를 빼고 전부 차단할 수 있다.