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 serverbir Host makinesinde bir kurulum yapabilir ve bir kullanıcı sshyalnı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 noAna Bilgisayar'a ekle/etc/ssh/sshd_configPort 22; Port <new-port-number>Ana Bilgisayar'a ekle/etc/ssh/sshd_configListenAddress 192.168.0.10AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>veyaAllowUsers <username>@111.222.333.*/etc/ssh/sshd_config~/.ssh/id_rsa.pubHer bir Müşterinin içeriğini yeni bir Ana Bilgisayar hattı olarak ekleyin ~/.ssh/authorized_keys. Ardından PasswordAuthentication noHost’a ekle/etc/ssh/sshd_configsudo apt-get install ufw && sudo ufw limit OpenSSHPasswordAuthentication, sshd_configDosyanızı Etkinleştirinİfade ile satırı bulun ve PasswordAuthenticationokunmasını sağlayın:
PasswordAuthentication yes
Yeni sshd_configdosyanızı kaydedin ve ardından Host sshhizmetini yeniden başlatın :
sudo service ssh restart
Bağlantı noktası Ana Bilgisayarının sshhizmetinin sshd_configdosyayı 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.1yö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.23Ana 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.23IP 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
SSHsshd_configdosyası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_userdizinine 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_configDosyayı 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 711ve 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
filemgKullanıcı adınızla değiştirin . Sonra dosyayı kaydedin ve kapatın.
Bu kadar.
Referans: Ubuntu 16.04’de SFTP kullanımı