AnyBucket SSH kurulumunuzu nasıl kullanır
Doldurmanız gereken ayrı bir anahtar deposu yoktur. SFTP için AnyBucket, Terminal'in kullandığı programla aynı olan /usr/bin/ssh programını başlatır; yani:
~/.sshiçindeki özel anahtarlarınız çalışır,- SSH ajanınıza yüklenen anahtarlar çalışır,
~/.ssh/configiçindeki herHostbloğu,HostName,User,IdentityFileveProxyJumpdahil uygulanır,- sunucu anahtarları, Terminal'in de paylaştığı
~/.ssh/known_hostsdosyasıyla denetlenir.
Temel kural: ssh user@host Terminal'de çalışıyorsa AnyBucket'ta da çalışır. Bir sunucu parola isterse parolalar giriş anahtar zincirinize kaydedilir.
Bir anahtar oluşturun ve sunucuya ekleyin
Henüz bir anahtarınız yoksa:
- Terminal'i açın ve
ssh-keygen -t ed25519komutunu çalıştırın. Varsayılan dosyayı (~/.ssh/id_ed25519) korumak için Return'e basın ve bir parola cümlesi seçin. - Herkese açık yarıyı,
~/.ssh/id_ed25519.pubdosyasını, sunucudaki~/.ssh/authorized_keysdosyasına ekleyin ya da sunucunun yöneticisine gönderin..pubuzantısı olmayan dosyayı asla paylaşmayın. - Deneyin:
ssh user@host, sunucunun parolasını sormadan oturum açmalıdır.
Parola cümlesini her seferinde yazmamak için anahtarı ssh-add ile ajanınıza ekleyin. macOS parola cümlesini anahtar zincirinizde tutabilir.
Sunucularınızı ~/.ssh/config içinde adlandırın
Bir Host bloğu bir sunucuya kısa bir ad ve ona ulaşmak için gereken ayarları verir:
Host staging
HostName staging.example.com
User deploy
IdentityFile ~/.ssh/id_ed25519
Artık ssh staging, o anahtarla deploy olarak oturum açar. AnyBucket'ta staging sunucusuna SFTP üzerinden bağlanın; aynı blok uygulanır, çünkü AnyBucket adı tıpkı Terminal gibi ssh programına iletir.
Bir sunucuya atlama sunucusu üzerinden ulaşın
Birçok sunucuya yalnızca bir bastion, yani atlama sunucusu (jump host) üzerinden ulaşılabilir. Terminal'de tek seferlik bir bağlantı için ssh -J bastion app yazarsınız. Kalıcı yapmak için ProxyJump kullanın:
Host bastion
HostName bastion.example.com
User me
Host app
HostName 10.0.1.20
User deploy
ProxyJump bastion
Terminal'de ssh app ile deneyin. Oturum açtığında AnyBucket'ı SFTP üzerinden app sunucusuna bağlayın: bağlantı kendiliğinden bastion üzerinden geçer, uygulamada ayarlamanız gereken ek bir şey yoktur. Birden çok atlama da aynı şekilde, ProxyJump sonrasında virgülle ayrılmış bir listeyle zincirlenir.
Sunucu anahtarları: "henüz bilinmiyor" ya da "değişti"
Bir sunucuya ilk kez bağlandığınızda anahtarı henüz ~/.ssh/known_hosts dosyasında değildir ve AnyBucket, tıpkı Terminal gibi, ona güvenmeden önce sorar. Parmak izini sunucunuzun yöneticisinin yayımladığıyla karşılaştırın.
AnyBucket bir anahtarın değiştiğini söylüyorsa durun ve nedenini öğrenin. Bir sunucu yeniden kurulduktan sonra yeni bir anahtar beklenir. Aksi halde bağlanmayın: değişen bir anahtar, sandığınız sunucuyla konuşmadığınız anlamına gelebilir. Ayrıntılar sorun giderme sayfasında.
Çalışmadığında
- Önce Terminal'i deneyin, AnyBucket'ta kullandığınız sunucu adının tam aynısıyla:
ssh staging. Bu başarısız olursa sorun uygulamada değil, SSH kurulumundadır. sshprogramının hangi anahtarları ve yapılandırma satırlarını denediğini görmek için-vekleyin (ssh -v staging).- Ajanı
ssh-add -lile denetleyin: ajanın tuttuğu anahtarları listeler. - İzinleri denetleyin:
ssh, diğer kullanıcıların okuyabildiği özel anahtarları reddeder.chmod 600 ~/.ssh/id_ed25519bunu düzeltir.
Hâlâ çözülmedi mi? SFTP anahtarları ya da atlama sunucuları çalışmıyor bölümüne bakın ya da ssh -v çıktısını, özel bilgileri çıkararak, desteğe e-postayla gönderin.