답변:
Ubuntu를 사용하는 호스트 시스템에서 ssh 서비스 설정을 시작하는 데 도움이되는 최상의 리소스는 OpenSSH 서버 입니다. 이를 통해 SSH 파일 전송 프로토콜 (SFTP (Secure File Transfer Protocol))을 사용하여 클라이언트 시스템의 SSH를 통해 파일을 액세스, 전송 및 관리 할 수 있습니다.
OpenSSH server
에서 호스트 컴퓨터에 설정을하면 사용자는 ssh
사용자 이름과 암호 만 사용하여 클라이언트에서 호스트 서버로 연결할 수 있습니다 . 그러나 공개 키 인증을 권장합니다." SSH 서버를 설치하기 전에 강력한 암호 가 있는지 확인하십시오 ( 암호를 모두 비활성화 할 수 있습니다 )"
호스트에 OpenSSH 서버를 설치하려면
sudo apt-get install openssh-server
호스트에 고정 IP 주소를 지정하면 안정적으로 연결할 수 있습니다.
nm-connection-editor
OpenSSH 서버를 구성하려면 "먼저 sshd_config 파일을 홈 디렉토리로 복사하거나 다음을 수행하여 / etc / ssh에서 읽기 전용 사본을 작성하여 백업하십시오."
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
" sshd_config
파일을 백업 한 후에는 텍스트 편집기를 사용하여 다음과 같이 변경할 수 있습니다."
sudo -H gedit /etc/ssh/sshd_config
이러한 변경 사항을 적용하려면 호스트에서 ssh 서비스를 다시 시작해야합니다
sudo service ssh restart
PermitRootLogin without-password
; PermitRootLogin no
호스트에 추가/etc/ssh/sshd_config
Port 22
. Port <new-port-number>
호스트에 추가/etc/ssh/sshd_config
ListenAddress 192.168.0.10
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
또는 AllowUsers <username>@111.222.333.*
호스트/etc/ssh/sshd_config
~/.ssh/id_rsa.pub
각 클라이언트 의 내용을 새로운 호스트 줄로 추가하십시오 ~/.ssh/authorized_keys
. 그런 다음 PasswordAuthentication no
호스트에 추가하십시오./etc/ssh/sshd_config
sudo apt-get install ufw && sudo ufw limit OpenSSH
PasswordAuthentication
에서 활성화 sshd_config
하십시오.문구가있는 줄을 찾아서 PasswordAuthentication
읽습니다.
PasswordAuthentication yes
새 sshd_config
파일을 저장 한 다음 호스트 ssh
서비스 를 다시 시작 하십시오 .
sudo service ssh restart
포트 호스트 ssh
서비스는 sshd_config
파일 에서 수신 대기 하고이 포트를 목표로하는 TCP / UDP 트래픽을 OpenSSH 서버의 IP 주소로 전달하도록 라우터를 설정하십시오.
192.168.1.1
라우터에 로그인하고 포트 전달을 설정하기 위해 웹 브라우저를 가리킬 수 있습니다 . 인터넷을 통한 SSH 연결을 허용하도록 OpenSSH 서버 및 라우터 구성을 참조하십시오 .<username>
호스트에서 SFTP 쉘 터미널을 열려면 클라이언트에서 터미널을 열고 다음 명령을 입력하여 123.123.1.23
호스트의 IP 주소로 바꾸십시오 .
sftp <username>@123.123.1.23
호스트의 OpenSSH 서버가 청취하는 포트 번호를 변경 한 경우 다음을 수행하십시오.
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
<username>
호스트에서 SSH 쉘 터미널을 열려면 클라이언트에서 터미널을 열고 다음 명령을 입력하여 123.123.1.23
호스트의 IP 주소로 바꾸십시오 .
ssh <username>@123.123.1.23
호스트의 OpenSSH 서버가 청취하는 포트 번호를 변경 한 경우 다음을 수행하십시오.
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
SSH
sshd_config
파일에 지정된 포트 번호14.04에서 :
호스트에 적절한 파일 권한이 있으면 호스트에서 생성 한 각 표준 사용자 (dodo 권한 없음)가 /home/new_user
디렉토리 를 소유 하지만 나머지 디렉토리 구조에 대해서는 권한이 제한됩니다.
도움이 되길 바랍니다.
1 단계 : OpenSSH 패키지가 설치되지 않은 경우 설치
sudo apt-get install openssh-server
2 단계 : SFTP 사용자를위한 별도의 그룹을 만듭니다.
sudo addgroup ftpaccess
3 단계 : /etc/ssh/sshd_config
파일을 편집 하고 아래와 같이 변경합니다. 아래 줄을 찾아서 의견을 작성하십시오.
#Subsystem sftp /usr/lib/openssh/sftp-server
파일 끝에이 줄을 추가하십시오.
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
4 단계 : sshd 서비스를 다시 시작하십시오.
sudo service ssh restart
5 단계 : ftpaccess 그룹의 사용자를 추가하고 비밀번호를 작성하십시오.
sudo adduser paul --ingroup ftpaccess --shell /usr/sbin/nologin
6 단계 : 홈 디렉토리 권한 수정
sudo chown root:root /home/paul
7 단계 : 그룹 내부의 업로드 및 수정 권한을 위해 집 안에 디렉토리를 만듭니다.
sudo mkdir /home/paul/www
sudo chown paul:ftpaccess /home/paul/www
그게 다야.
참조 : 우분투에서 SFTP 설정
sudo chmod 711
홈 폴더에서 ftp를 www 폴더로만 허용했습니다. 지금까지는 좋은 것 같지만 다른 사람들이 소리를 낼 수 있습니다.
Denyhosts 는 "jtd"에서 언급 한 것 이외의 다른 도구입니다. SSH 서버에 대한 반복 된 연결 시도를 자동으로 차단할 수 있습니다. 우분투 저장소에 설치할 수 있습니다.
사용자에 대한 액세스 제한
여기서는 사용자가 파일 전송 만 수행하도록 허용하고 터미널 액세스를 비활성화합니다.
이를 위해 구성 파일의 맨 아래에 다음 코드를 추가하십시오.
$ sudo nano /etc/ssh/sshd_config
이제 파일이 열리고 코드를 붙여 넣습니다.
/etc/ssh/sshd_config
. . .
Match User filemg
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
대체 filemg
사용자 이름. 그런 다음 파일을 저장하고 닫습니다.
그게 다야.