다중 포트 SSH를위한 구성


24

두 개의 포트에서 SSH를 청취해야합니다. 22는 관리자 액세스를 호스팅하고 26은 일반 액세스를 제공합니다. 26에서 루트 로그인을 허용하지 않고 포트 22에 대해 내부 IP를 제외한 모든 IP를 허용하지 않습니다. 후자는 iptables 규칙을 사용하여 수행 할 수 있지만 전자는 알 수 없습니다. 어떤 아이디어?


3
root는 ssh를 통해 로그인 할 수 없어야합니다. 기간; 이야기의 끝; 벅은 여기서 멈춘다. 못. 루트 액세스 권한이 필요한 경우 일반 사용자를 통해 로그인 한 다음 su아직 더 향상 시키십시오 sudo.
Chris S

6
ssh를 통한 루트 로그인을 키 인증으로 제한하는 경우 또는 세션이 사용자가 제어하는 ​​IP 주소로 제한되는 경우 비밀번호 인증을 허용하는 것이 좋습니다. '절대'는 너무 강합니다.
EightBitTony

3
루트 로그인 (예 : / home 파티션의 파일 시스템 손상, 표준 사용자로 로그인 제외)이 필요한 상황이 있다고 주장합니다. 도움이 될 수있는 한 가지는 sshd_config PermitRootLogin매개 변수를 로 설정하는 것입니다 without-password. 이것은 ssh를 통한 루트 로그인이 ssh 키로 만 가능하게합니다. 비밀번호 인증이 작동하지 않습니다.
ewwhite

이 기사가 도움이 될 것입니다 : everythingsysadmin.com/2010/09/…
TomOnTime

답변:


27

에서는 /etc/ssh/sshd_config, 다음과 같이 변경합니다. 라는 줄을 찾아 그 Port 22아래에 비슷한 줄을 추가하십시오.

Port 22
Port 26

파일을 저장하고 sshd 데몬을 다시 시작하십시오.

포트 22에서 내부 사용자에 대해 ssh를 활성화했지만 포트 2222와 같은 외부 연결이 필요한 상황에서이 작업을 수행합니다. 이렇게하면 ssh 데몬이 두 포트 번호에 바인딩됩니다.


6
그리고 루트 로그인을 포트 22로 어떻게 제한합니까?
faker

@faker 나는 방화벽 / 네트워크 제한을 사용하여 일반 포트 22에 대한 ip의 화이트리스트만을 제공하는 것을
보았습니다.

10

sshd-f 옵션 을 사용하여 대체 구성 파일을 지정할 수 있습니다 . 구성 파일에서

Port 26 

sshd가 청취하는 포트를 변경하라는 지시문.

세트

PermitRootLogin no

루트 로그인을 비활성화하려면

그런 다음 같은 것을 할 수 있습니다

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

시작시 포트 26 서비스를 시작할 수 있도록 표준 sshd 시작 스크립트를 복사하고 수정할 수 있습니다.

왜 이런 짓을하는 ?


1
두 개의 전체 구성 파일을 사용하는 대신 서버를 본질적으로 유사하게하려면 추가하는 것이 더 간단하고 적절하지 않습니다.-o PermitRootLogin yes -p 26
JamesTheAwesomeDude

3

sshd가 명령 행 특정 구성 파일로 실행된다고 가정하면 포트 26에서 실행되는 두 번째 구성을 작성하고 해당 포트를 참조하는 두 번째 시작 스크립트를 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.