EC2 우분투 서버에 비밀번호로 로그인하도록 sftp 사용자를 어떻게 설정합니까?


14

EC2 인스턴스에서 Ubuntu 서버를 실행하고 있습니다. 해당 서버에 로그인하기 위해 비밀번호없이 인증서 파일을 사용합니다.

vsftpd를 설치 및 구성하고 / bin / false ssh 터미널을 설정 한 사용자 ( "testuser"라고 함)를 작성하여 sftp를 통해서만 연결하고 자신의 집에서 파일을 업로드 / 액세스 할 수있게했습니다. 예배 규칙서.

그러나-컴퓨터에서 서버에 연결하려고하면

sftp testuser@my-ec2-server

나는 얻다

권한이 거부되었습니다 (공개 키).
연결 종료

메시지를 표시하여 로그인 할 수 없습니다.

이 사용자에 대한 인증서 요구 사항 만 제거하려면 ( "ubuntu"사용자는 여전히 ssh를 통해 로그인하기 위해 인증서 파일을 사용해야 함) 일반 sftp 클라이언트는 사용자 이름과 비밀번호를 사용하여 연결할 수 있습니까?

감사합니다.

PS 마이크로 인스턴스에서 표준 64 비트의 Ubuntu Server 10.10 공식 AMI 사용.

답변:


10

원하는 것을 이루려면 두 가지 다른 일을해야합니다

  1. 비밀번호를 승인하도록 sshd 구성 변경

당신은 그래서 그냥 편집하고 싶은 경우에 나는 우선이 이렇게 나쁜 생각이라고한다 차라리 그럼에도 불구하고, 활성화 암호에 비해 사용자에 대한 인증서를 생성하는 것이다 /etc/ssh/sshd_config변경하거나 그래서 쇼 주석을 PasswordAuthentication yes. 완료되면 sshd를 다시 시작하십시오.service ssh restart

  1. 쉘을 사용하지 않고 sftp를 사용하는 FTP 사용자 만 허용

rsh (resticted shell)를 설치하고 사용자 쉘을 변경해야 함을 완료하려면 chsh username


sftp로만 액세스 할 수있는이 특정 사용자 (testuser)만이 인증서 대신 비밀번호를 사용하기를 원합니다. 그 사용자가 ssh를 통해 액세스 할 수 없도록하는 부분은 이미 bash 유형을 / bin / false로 정의하여 수행했습니다.
Doron

1
Doron, passwd를 통해 한 명의 사용자 만 허용 할 수 없으며, 모든 사람 또는 아무도 암호 인증을 허용합니다. 또한 /bin/falsesftp 연결을 허용하지 않습니다 (ssh 연결에는 유효한 쉘이 필요합니다. rsh가 트릭을 수행하는 곳)
lynxman

1
이것은 우분투 EC2에서 나에게 효과가 없었습니다. 누락 된 추가 단계가 무엇인지 확실하지 않고 포트 22가 열려 있습니다
Doug Molineux

비밀번호로 sftp 사용자 만 설정하려면 serverfault.com/questions/154957/… 을 참조하십시오 .
Raman

-1

다음은 단계별 안내입니다.

  1. 사용자 bob의 / home / bob / uploads에 대한 SFTP 액세스
  2. SSH에서 밥을 잠그십시오
  3. 키 대신 사용자 이름 / 암호를 사용하십시오.

먼저 / etc / ssh / sshd_config 파일을 편집하십시오 :

sudo nano /etc/ssh/sshd

아래로 스크롤하여 수정하십시오.

PasswordAuthentication yes

아래에 이것을 추가하십시오 :

Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no  

종료하고 저장하려면 Ctrl-X를 누르십시오.

이제 사용자를 추가하십시오 :

sudo useradd bob
sudo passwd bob

이제 그룹을 추가하고 ssh를 비활성화하십시오 :

sudo groupadd sftpusers
sudo usermod  -g sftpusers bob
sudo usermod -s /usr/bin/rssh bob
sudo usermod -d /home/bob bob

이제 권한을 설정하십시오.

sudo chown root:root /home/bob/
sudo chmod 755 /home/bob/
sudo mkdir /home/bob/uploads
sudo chown bob /home/bob/uploads

sudo service sshd restart

이 모든 것은 루트 사용자 (Amazon Linux AMI의 EC2- 사용자)로 로그인 한 상태입니다.


3
한 사용자가 비밀번호 인증을 사용하기 위해 바지를 떨어 뜨릴 필요가 없습니다.
EEAA
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.