Giriş sırasında ortak anahtar kimlik doğrulaması gerektirmeyen kök, sudo, sftp-sadece kullanıcı hesaplarının nasıl ayarlanacağını bilmek istiyorum. diğer üst dizinlere erişemiyorum.
Giriş sırasında ortak anahtar kimlik doğrulaması gerektirmeyen kök, sudo, sftp-sadece kullanıcı hesaplarının nasıl ayarlanacağını bilmek istiyorum. diğer üst dizinlere erişemiyorum.
Yanıtlar:
Ubuntu kullanarak bir Ana bilgisayarda ssh hizmeti kurmaya başlamanıza yardımcı olacak en iyi kaynak OpenSSH Sunucusudur . Bu, bir İstemci makineden SSH üzerinden dosyalara erişmek, aktarmak ve yönetmek için SSH Dosya Aktarım Protokolü'nü (aynı zamanda Güvenli Dosya Aktarım Protokolü veya SFTP) kullanmanızı sağlar.
OpenSSH server
bir Host makinesinde bir kurulum yapabilir ve bir kullanıcı ssh
yalnızca bir kullanıcı adı ve şifre kullanarak İstemciden Host sunucusuna bağlanmak için kullanabilir . Ancak, ortak anahtar kimlik doğrulamasının önerildiğini unutmayın." Bir SSH sunucusu kurmadan önce güçlü bir şifreniz olduğundan emin olun ( şifreleri tamamen devre dışı bırakmak isteyebilirsiniz )"
Host'a bir OpenSSH sunucusu kurmak için:
sudo apt-get install openssh-server
Ana Bilgisayarınıza Statik IP adresi verin, böylece ona güvenilir bir şekilde bağlanabilirsiniz:
nm-connection-editor
OpenSSH sunucunuzu yapılandırmak için , "ilk önce, sshd_config dosyanızın yedeğini ev dizininize kopyalayarak veya / etc / ssh içinde salt okunur bir kopya yaparak::"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"Dosyanızı yedekledikten sonra sshd_config
, örneğin herhangi bir metin düzenleyicide değişiklikler yapabilirsiniz:"
sudo -H gedit /etc/ssh/sshd_config
Bu değişikliklerin geçerli olması için ssh hizmetinizi Ana Bilgisayarda yeniden başlatmanız gerekir.
sudo service ssh restart
PermitRootLogin without-password
; PermitRootLogin no
Ana Bilgisayar'a ekle/etc/ssh/sshd_config
Port 22
; Port <new-port-number>
Ana Bilgisayar'a ekle/etc/ssh/sshd_config
ListenAddress 192.168.0.10
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
veyaAllowUsers <username>@111.222.333.*
/etc/ssh/sshd_config
~/.ssh/id_rsa.pub
Her bir Müşterinin içeriğini yeni bir Ana Bilgisayar hattı olarak ekleyin ~/.ssh/authorized_keys
. Ardından PasswordAuthentication no
Host’a ekle/etc/ssh/sshd_config
sudo apt-get install ufw && sudo ufw limit OpenSSH
PasswordAuthentication
, sshd_config
Dosyanızı Etkinleştirinİfade ile satırı bulun ve PasswordAuthentication
okunmasını sağlayın:
PasswordAuthentication yes
Yeni sshd_config
dosyanızı kaydedin ve ardından Host ssh
hizmetini yeniden başlatın :
sudo service ssh restart
Bağlantı noktası Ana Bilgisayarının ssh
hizmetinin sshd_config
dosyayı dinlediğini ve yönlendiricinizi bu bağlantı noktasını hedefleyen TCP / UDP trafiğini OpenSSH sunucunuzun IP adresine iletecek şekilde ayarladığını unutmayın.
192.168.1.1
yönlendiricinize giriş yapmak ve bağlantı noktası iletmeyi ayarlamak için web tarayıcınızı yönlendirebilirsiniz. İnternet üzerinden SSH bağlantısını kabul etmek için OpenSSH sunucusunu ve yönlendiriciyi yapılandırma bölümüne bakın.Bir SFTP kabuk terminalini <username>
Ana Bilgisayardaki gibi açmak için İstemcide bir Terminal açın ve 123.123.1.23
Ana Bilgisayarın IP adresi ile değiştirerek aşağıdaki komutu girin :
sftp <username>@123.123.1.23
Bağlantı noktası numarasını değiştirdiyseniz, Host'un OpenSSH sunucusu dinler:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
SSH kabuk terminalini <username>
Host'ta olduğu gibi açmak için, Client üzerinde bir Terminal açın ve Host'un 123.123.1.23
IP adresi ile değiştirerek aşağıdaki komutu girin :
ssh <username>@123.123.1.23
Bağlantı noktası numarasını değiştirdiyseniz, Host'un OpenSSH sunucusu dinler:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
SSH
sshd_config
dosyasında belirtilen port numarası14.04'te:
Ana Bilgisayarda bulunan uygun dosya izinleri, Ana Bilgisayar'da oluşturduğunuz her standart kullanıcının (sudo ayrıcalıkları olmadan) /home/new_user
dizinine sahip olacağını, ancak dizin yapısının geri kalanıyla sınırlı izinlere sahip olacağını garanti eder .
Umarım bu yardımcı olur!
Adım 1: Takılı değilse OpenSSH paketini kurun
sudo apt-get install openssh-server
Adım 2: SFTP kullanıcıları için ayrı grup oluşturun.
sudo addgroup ftpaccess
Adım 3: /etc/ssh/sshd_config
Dosyayı düzenleyin ve aşağıdaki gibi değişiklikler yapın. Çizginin altında bulun ve yorum yapın.
#Subsystem sftp /usr/lib/openssh/sftp-server
ve bu satırları dosyanın sonuna ekleyin.
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Adım 4: sshd servisini yeniden başlatın.
sudo service ssh restart
Adım 5: ftpaccess grubu ile kullanıcı ekleyin ve şifre oluşturun.
sudo adduser paul --ingroup ftpaccess --shell /usr/sbin/nologin
Adım 6: Giriş dizini iznini değiştirme.
sudo chown root:root /home/paul
Adım 7: Yüklemek için ev içinde bir dizin oluşturun ve gruba izin verin.
sudo mkdir /home/paul/www
sudo chown paul:ftpaccess /home/paul/www
Bu kadar .
Bakınız: ubuntu'da SFTP kurulumu
sudo chmod 711
ve yalnızca www klasörüne ftp yapmama izin verdi. Şimdiye kadar iyi görünüyor ama belki başkaları
Denyhosts , bakmak isteyebileceğiniz "jtd" tarafından belirtilenlerin yanı sıra başka bir araçtır. SSH sunucunuzla tekrarlanan bağlantı girişimlerini otomatik olarak engelleyebilir. Ubuntu depolarına kurulabilir.
Kullanıcıya Erişimi Sınırlandır
Burada sadece kullanıcının dosya transferi yapmasına izin vereceğiz ve terminal erişimini devre dışı bırakacağız.
Bunun için yapılandırma dosyasının altına aşağıdaki kodları ekleyin.
$ sudo nano /etc/ssh/sshd_config
Şimdi dosya açılacak ve kodu yapıştırınız.
/etc/ssh/sshd_config
. . .
Match User filemg
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
filemg
Kullanıcı adınızla değiştirin . Sonra dosyayı kaydedin ve kapatın.
Bu kadar.
Referans: Ubuntu 16.04’de SFTP kullanımı