편집하다:
실제로 Syslog의 로그를 놓쳤습니다. auth.log 또는 vsftpd.log에 있을 것으로 예상했지만 Syslog에 다음과 같은 중요한 메시지가 있습니다. RADIUS 서버에 대한 IP 주소 조회 실패 [2001 (errcode=9 )
pam_radius_auth.conf에 IPv6 주소를 입력하는 형식에 관계없이([] 괄호를 사용했지만 사용하지 않고 /etc/hosts에 별칭을 사용하여 시도) 이를 허용하지 않습니다. pam 모듈이 IPv6와 호환되지 않는 것 같나요? :(
두 대의 서버가 있습니다. 하나는 vsFTPd를 실행하고 다른 하나는 Freeradius를 실행합니다. 둘 다 IPv6 전용입니다.
Radius 서버에 인증하기 위해 vsFTPd 및 pam_radius_auth 모듈을 사용하려고 하는데 어떤 이유로 작동하지 않습니다. Freeradius 서버는 올바르게 구성되어야 하며 다음과 같이 터미널을 통해 인증할 수 있습니다.
radtest -6 user pass 2001:xxxx:xxxx:xxxx:xxxx::129 0 radiussecret
내 다른 웹 서버도 내 Radius 서버를 통해 인증할 수 있습니다.
어떤 이유에서인지 vsFTPd가 올바른 pam 모듈을 사용하지 않는 것 같습니다. 그가 내 Radius 서버에 연결을 시도하고 있음을 나타내는 디버그 메시지가 없거나 /etc/pam_radius_auth.conf에서 완전히 제거하면 연결하려는 서버를 찾을 수 없습니다.
내 구성은 다음과 같습니다.
/etc/vsftpd.conf
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
pam_service_name=ftp
/etc/pam.d/vsftpd
auth sufficient pam_radius_auth.so
account sufficient pam_radius_auth.so
/etc/pam_radius_auth.conf
radiusserver radiussecret 10
/etc/hosts에서 radiusserver를 해당 IP 주소에 매핑합니다.
2001:xxxx:xxxx:xxxx::129 radiusserver.auth radiusserver
이제 FTP 서버에서 user:pass 자격 증명을 사용하여 연결하려고 하면 다음 오류가 발생합니다.
ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:student): user
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
/var/log/auth.log에서:
ubuntu vsftpd: pam_unix(ftp:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user rhost=::1 user=user
및 /var/log/vsftpd.log
CONNECT: Client "::1"
[user] FAIL LOGIN: Client "::1"
무슨 일이야? vsFTPd가 내 Radius 서버에 연결을 시도하지 않는 이유는 무엇입니까? :( 감사해요
답변1
당신 은 다음 /etc/vsftpd.conf
을 가지고 있습니다 :
pam_service_name=ftp
/etc/pam.d/ftp
나는 이것이 PAM에게 .NET 에서 이 서비스에 대한 구성을 찾도록 지시한다고 생각합니다 /etc/pam.d/vsftpd
.
/etc/pam.d/ftp
존재하지 않는 경우 /etc/pam.d/other
사용됩니다.