동적 IP 주소에서 로그인할 때 OpenSSHD를 어떻게 제한할 수 있나요?

동적 IP 주소에서 로그인할 때 OpenSSHD를 어떻게 제한할 수 있나요?

그래서 고정 IP 주소를 사용하는 Ubuntu 시스템에 OpenSSHD가 있습니다.

내 노트북에는 동적 IP 주소가 있습니다. -> "정말 동적이라는 의미입니다." 따라서 범위를 지정할 수 없습니다...

SSHD를 내 랩톱에만 표시하도록 제한해야 합니다(그래서 다른 사람은 sshd가 포트에서 수신 대기 중이라는 것을 알 수 없습니다. 나만 알 수 있습니다).

나는 Knockd(구현이 매우 간단함)를 고려하고 있습니다. 해결책이 있나요?

답변1

솔직히 저는 키 기반 인증을 설정하고 비밀번호 인증을 비활성화하고 사람들이 문 손잡이를 두드리는 것에 대해 걱정하지 않았습니다. 비밀로 하면 다 괜찮을 거예요. 이 질문은 꽤 자주 나오는데, 많은 경우 복잡한 로그 파일에 대한 우려 때문에 발생합니다. 짜증스럽기도 하지만 보안 전략이 효과가 있다는 신호이기도 합니다.

만약 당신이 정말로필요sshd가 랩톱에만 표시되는 경우 sshd와 서버 사이에 OpenVPN을 설정한 다음 물리적 인터페이스 대신 tun/tap 인터페이스에 바인딩되도록 sshd를 구성할 수 있습니다. 하지만 그러면 모든 트래픽을 두 번 암호화하게 되는데, 이는 나에게 엔트로피 낭비처럼 보입니다.

답변2

보안 SSH 로그인을 달성하려면 다음과 같은 여러 가지 방법을 권장합니다.

  1. 사용호스트 거부무단 액세스 시도 처리
  2. 공개 키 인증을 사용합니다.
  3. sshd_config에서 오래되거나 약한 프로토콜을 비활성화합니다.
  4. 가능하다면 기본 SSH 포트를 22에서 9876과 같은 "이국적인" 포트로 변경하세요.

여기가 좋다면기사OpenSSHD 서버의 보안을 향상하는 방법에 대해 설명합니다.

너도 와서 봐여기.

답변3

no-ip, duckdns 등의 호스트 유형을 생성하고 다음 셸 스크립트를 사용할 수 있습니다.

#!/bin/bash

DYN_IP="myhost.dynamic.example.com"
CMD=$(ping -c1 $DYN_IP | head -1 | awk -F' ' '{ print $3}' | sed 's/(\|)//g')
FILE="./last_ip.txt"
NEW_IP=$CMD

if [ -e $FILE ]; then
        OLD_IP=$(cat $FILE)
else
        OLD_IP="0"
fi

if [ $OLD_IP != $NEW_IP ]; then
        echo $NEW_IP > last_ip.txt
        sed -i "/^sshd: $OLD_IP/d" /etc/hosts.allow
        echo "sshd: $NEW_IP" >> /etc/hosts.allow
        echo "Allow ip changed to $NEW_IP"
fi

5분마다 실행되도록 crontab을 추가합니다.

 */5 * * * * root /pathtoyou/script

이 질문에서 사용자 PRIX의 점수는 다음과 같습니다.https://serverfault.com/questions/187231/accessing-ip-restricted-server-from-dynamic-ip

답변4

no-ip.org 서비스를 이용하실 수 있습니다. 예를 들어 무료로 주소를 등록한 다음 my-laptop.noip.org, IP가 변경될 때마다 새 IP 주소를 가리키도록 주소를 업데이트하는 소프트웨어를 노트북에 다운로드하세요.

SSH를 통해 간단히 연결하면 됩니다 my-laptop.noip.org.

실제로 이런 서비스를 운영하고 있습니다. :디

관련 정보