Aynı satırda şifre ile giriş yapmak için sftp ile bir astar nasıl yapabilirsiniz?


17

Sftp ile şifreyi hatta koyma seçeneği var mı?

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ 

Bunun gibi

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ -p PASSWORD? 

Yanıtlar:


13

Genellikle komut satırına bir parola eklemek bir güvenlik riski olarak kabul edilir, çünkü ps / top çalıştırabilen herkese görünür ve kabuğunuzun geçmişine kaydedilmiş olabilir.

Mümkünse, anahtar tabanlı kimlik doğrulamasını ayarlamak daha iyi bir fikir olacaktır.

Ayrıca, sftp ile mümkün olacağına inanmıyorum. Güvenli transferler için kullanılması amaçlanmıştır. Gerçekten böyle bir şey yapmak zorundaysanız ve başka bir seçeneğiniz yoksa, muhtemelen beklemeyle otomasyona bakmanız gerekir .


İlginç nokta!
Daniel

Mümkünse, anahtar tabanlı kimlik doğrulamasını ayarlamak çok daha iyi bir fikir olacaktır. Bu mantıklı.
Net Runner

Bu beklenen url bozuldu
André Perazzi

4
İnsanların neden çözüm sağlamayan bir cevabı iptal ettiklerini anlayamıyorum.
itoctopus

35

Diğerlerinin de belirttiği gibi, bir komut satırı şifresi son çare olmalıdır.

Ancak, başka bir şey mümkün değilse; ssh geçmek için gidilebilir

sshpass -p <password> sftp user@host

2
Bu kitlesel olarak kaldırılmalıdır. Sshpass'a sahip olmak gerçekten yararlıdır. Bazı sağlayıcılar .ssh klasörü oluşturmanıza izin vermez ve scp'ye de izin verilmez.
NetSquirrel

2
bazı araçların brew search sshpassarkanızda olması iyi: - "sshpass eklemeyeceğiz çünkü acemi SSH kullanıcılarının SSH'nin güvenliğini mahvetmesini kolaylaştırıyor."
oliver

4
Bu kabul edilen çözüm olmalıdır. OP bu özel şeyin nasıl yapılacağını sordu - güvenlik tavsiyesi için değil (iyi niyetli ve doğru da olsa).
ebr

6

Bunu yapma - otomatik oturum açma için SSH ortak anahtar kimlik doğrulamasını ayarlayın.


Sftp bunu scp ile aynı şekilde yapabilir mi?
Daniel

1
@ Daniel, hem sftp hem de scp, anahtar tabanlı kimlik doğrulamasına izin veren SSH üzerine inşa edilmiştir.
Zoredache

5

Yapmaya çalıştığınız komut dosyasını yazmak için perl, ruby ​​veya python kullanın. Ruby durumunda sadece (net-sftp API belgelerinden alınmıştır):

require 'net/sftp'

Net::SFTP.start('host', 'username', :password => 'password') do |sftp|

  # upload a file or directory to the remote host

  sftp.upload!("/path/to/local", "/path/to/remote")

end

Daha fazla bilgi için http://net-ssh.rubyforge.org/sftp/v2/api/index.html


paramiko saf python (ekstra libs yok) ve gerçekten iyi çalışıyor
qwertzguy

3

Diğer yanıtların belirttiği gibi, ortak anahtar kimlik doğrulamasını kullanın. Biraz tarihli olmasına rağmen, onun hakkında bilmek istediğiniz her şeyi ve anahtarlık gibi bazı yararlı ek araçları açıklayan harika bir IBM developerWorks serisi var.


2

Parolanın komut satırı komutunda görünmesini umursamayan arama kullanıcıları için:

sftp userid:password@remoteHostsftpconnect komutuna parolanın nasıl ekleneceğidir .

GÜNCELLEME: bunun yanlış olduğu ortaya çıktı ... yorumlara bakın


OpenSSH v5.3p1 ve v4.3p2, her ikisi de Red Hat Enterprise'da ...
ashnazg

1
Bu yanlış olduğu ortaya çıktı ... PHP ve ssh2 uzantısı kodumda daha önce bağımsız bağımsız kimlik doğrulaması yapmak için kullanıldığından ve sftp komutu daha sonra çalıştırıldığından bu yöntem benim için işe yaradı. Bu sözdiziminin başarılı olduğu daha sonraki parça oldu.
ashnazg

1
Ana bilgisayar adı kullanıcısı çözümlenemedi: Bilinen böyle bir ana bilgisayar yok. FileZilla CLI
P Satish Patro

1

FTP istemcileri kadar çok yanıt olduğundan şüpheleniyorum. SFTP sunucusu, şifreleme oluşturulana kadar kimlik doğrulama bilgilerini kabul etmemelidir, böylece kullanıcı ve parola korunur.

İnanıyorum FileZilla istemci kullanıcı ve şifre geçen komut satırı için izin verecektir .. belgelere bakın burada . FileZilla projesinin itibarı göz önüne alındığında, projenin güvenli bir şekilde çalışmasını beklerdim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.