SSH를 통해 Samba 파일 서버에 어떻게 연결합니까?

SSH를 통해 Samba 파일 서버에 어떻게 연결합니까?

그래서 Debian(3.2) 컴퓨터에 전용 Samba 파일 서버를 만들었습니다. 저는 Windows와 Unix 모두에서 큰 성공을 거두었습니다. 로컬 네트워크에서 SSH를 통해 연결할 수 있습니다.

공용 IP 주소를 통해 SSH를 통해 연결하려고 하면 연결이 거부되었다는 메시지가 나타납니다.

원격으로 Samba 공유에 직접 SSH로 연결할 수 있기를 원합니다. 어떻게 해야 하나요? 앞으로 나아가야 한다고 들었는데? smb.conf 파일에서 변경해야 할 사항이 있나요?

이것은 내 sshd_config 파일입니다.

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

답변1

Scriptonaut, 귀하의 문제는 Samba와 관련된 것이 아니라 포트 전달/NAT와 관련이 있을 수 있습니다. 데비안을 제공하는 SAMBA 컴퓨터가 LAN 네트워크의 라우터 뒤에 있는 경우 일부 포트의 요청을 SAMBA를 실행하는 컴퓨터로 전달하도록 구성해야 합니다:

여기에 이미지 설명을 입력하세요.

먼저 라우터의 나가는 연결이 어떻게 작동하는지 살펴보겠습니다. 두 시스템이 TCP/IP를 통해 통신할 때 각 시스템(소스 및 대상)은 IP/포트 번호 쌍을 사용하여 주소가 지정되므로 연결은 소스 IP/포트 번호와 대상 IP/포트 번호라는 두 쌍에 의해 결정됩니다.

Mozilla에서 탭을 열고 192.168.1.2 시스템에서 Google에 액세스하면 소스 주소 IP=192.168.1.2와 해당 브라우저 탭에 발신 TCP 포트 번호(예: 43694)가 할당된 라우터로 일부 IP 패킷이 전송됩니다. ) 그리고 포트 80에서 특정 IP를 사용하는 Google 시스템으로 해당 패킷을 전송하도록 라우터에 요청합니다. 80은 수신 http 연결을 위한 표준 포트이기 때문입니다(표준 TCP 포트 목록은 파일 참조 /etc/services). 라우터는 자체 포트(예: 12345)를 무작위로 할당하고 해당 패킷의 소스 IP/포트 쌍을 자체 WAN IP(74.25.14.86) 및 포트 12345로 대체하며 포트 12345에서 Google로부터 응답을 받으면 다음을 기억합니다. 자동으로 응답을 192.168.1.2, 포트 43694로 다시 전송해야 합니다.

이제 외부 컴퓨터가 서버에 액세스하려고 하면 어떻게 될까요?

외부 시스템에서 SAMBA 서버에 액세스하려고 하면 WAN IP=74.25.14.86의 포트 22로 IP 패킷을 보냅니다(22는 SSH 연결을 수신하기 위한 표준 TCP 포트이므로 Linux 표준 목록을 볼 수 있습니다). 위 파일의 TCP 포트 /etc/services). 라우터가 패킷을 수신합니다. 기본적으로 라우터의 방화벽은 해당 포트에 바인딩된 나가는 연결이 없는 경우 해당 포트로 들어오는 모든 연결을 차단하도록 구성되어 있습니다. 따라서 이전 시나리오에서 Google에 액세스하면 라우터는 포트 12345 자체에 대한 Google의 응답을 차단하지 않습니다. 192.168.1.2가 Google에 대한 연결을 시작했으며 Google의 응답이 포트 12345에 도착해야 함을 기억하기 때문입니다. 그러나 포트 22는 LAN의 어떤 연결에도 매핑되지 않기 때문에 외부 세계에서 포트 22로의 연결 시도를 차단합니다.

따라서 해야 할 일은 외부의 모든 연결을 192.168.1.2의 포트 22에서 포트 22로 전환하도록 라우터를 구성하는 것뿐입니다. 이는 하드웨어 라우터의 네트워크 인터페이스에서 수행할 수 있으며 일반적으로 필요한 메뉴 옵션을 "포트 전달" 또는 "NAT - 네트워크 주소 변환"이라고 합니다.

관련 정보