Kabuk Nasıl Çalışır (SSH) - Computerphile
İçindekiler:
- Ön şartlar
- SSH Yapılandırma Dosyası Konumu
- SSH Yapılandırma Dosyası Yapısı ve Modelleri
- SSH Yapılandırma Dosyası Örneği
- Paylaşılan SSH Yapılandırma Dosyası Örneği
- SSH Yapılandırma Dosyasını Geçersiz Kıl Seçeneği
- Sonuç
Bir seçenek, her uzak sunucu bağlantısı için bir bash diğer adı oluşturmak olacaktır. Ancak, bu soruna başka, çok daha iyi ve daha basit bir çözüm var. OpenSSH, bağlandığınız her uzak makine için farklı SSH seçeneklerini saklayabileceğiniz kullanıcı başına bir yapılandırma dosyası kurmanıza olanak tanır.
Bu kılavuz, SSH istemci yapılandırma dosyasının temellerini kapsar ve en yaygın yapılandırma seçeneklerinden bazılarını açıklar.
Ön şartlar
OpenSSH istemcisi kurulu bir Linux veya macOS sistemi kullandığınızı varsayıyoruz.
SSH Yapılandırma Dosyası Konumu
OpenSSH istemci tarafı yapılandırma dosyasına
config
adı verilir ve kullanıcının ana dizini altındaki
.ssh
dizininde depolanır.
~/.ssh
dizini, kullanıcı
ssh
komutunu ilk kez çalıştırdığında otomatik olarak oluşturulur. Dizin sisteminizde yoksa, aşağıdaki komutu kullanarak dizini oluşturun:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
Varsayılan olarak SSH yapılandırma dosyası bulunmayabilir, bu nedenle touch komutunu kullanarak oluşturmanız gerekebilir:
touch ~/.ssh/config
Bu dosya yalnızca kullanıcı tarafından okunabilir ve yazılabilir olmalı ve başkaları tarafından erişilemez olmalıdır:
SSH Yapılandırma Dosyası Yapısı ve Modelleri
SSH Yapılandırma Dosyası aşağıdaki yapıyı alır:
Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value
SSH istemci yapılandırma dosyasının içeriği stanzalar (bölümler) halinde düzenlenmiştir. Her stanza
Host
yönergesi ile başlar ve uzak SSH sunucusuyla bağlantı kurulurken kullanılan belirli SSH seçeneklerini içerir.
Girinti gerekli değildir, ancak dosyanın okunmasını kolaylaştırdığı için önerilir.
Host
yönergesi bir desen veya boşlukla ayrılmış bir desen listesi içerebilir. Her desen, sıfır veya daha fazla boşluk olmayan karakter veya aşağıdaki desen belirteçlerinden birini içerebilir:
-
*
- Sıfır veya daha fazla karakterle eşleşir. Örneğin,Host *
tüm ana bilgisayarlarla,192.168.0.*
192.168.0.0/24
alt ağındaki ana bilgisayarlarla eşleşir.?
- Tam olarak bir karakterle eşleşir. Kalıp,Host 10.10.0.?
10.10.0.
tüm ev sahipleriyle10.10.0.
Aralık.!
- Bir desenin başında kullanıldığında eşleşmeyi reddeder. Örneğin,Host 10.10.0.* !10.10.0.5
,10.10.0.0/24
alt ağındaki10.10.0.5
dışındaki tüm ana bilgisayarlarla10.10.0.5
.
SSH istemcisi, yapılandırma dosyasını stanza ile okur ve birden fazla desen eşleşirse, ilk eşleşen stanzadan seçenekler öncelik kazanır. Bu nedenle, dosyanın başında daha fazla ana bilgisayara özgü bildirimler ve dosyanın sonunda daha genel geçersiz kılmalar verilmelidir.
Terminalinize
man ssh_config
yazarak veya ssh_config man sayfasını ziyaret ederek mevcut ssh seçeneklerinin tam listesini bulabilirsiniz.
SSH yapılandırma dosyası
scp
,
sftp
ve
rsync
gibi diğer programlar tarafından da okunur.
SSH Yapılandırma Dosyası Örneği
Şimdi SSH yapılandırma dosyasının temelini ele aldığımıza göre, aşağıdaki örneğe bakalım.
Genellikle, uzak bir sunucuya SSH aracılığıyla bağlanırken uzak kullanıcı adını, ana bilgisayar adını ve bağlantı noktasını belirtirsiniz. Örneğin, komut satırından
2322
numaralı bağlantı noktasındaki
dev.example.com
adlı bir ana bilgisayara
john
adlı bir kullanıcı olarak oturum açmak için şunu
dev.example.com
:
ssh [email protected] -p 2322
Sadece
ssh dev
yazarak yukarıdaki komutta belirtilen seçeneklerin aynısını kullanarak sunucuya bağlanmak için
"~/.ssh/config
dosyanıza aşağıdaki satırları koyun:
Host dev HostName dev.example.com User john Port 2322
Şimdi
ssh dev
yazdığınızda, ssh istemcisi yapılandırma dosyasını okuyacak ve
dev
ana bilgisayarı için belirtilen bağlantı ayrıntılarını kullanacaktır:
Paylaşılan SSH Yapılandırma Dosyası Örneği
Bu örnek, ana bilgisayar modelleri ve seçenek önceliği hakkında daha ayrıntılı bilgi verir.
Aşağıdaki örnek dosyayı ele alalım:
Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes
-
ssh targaryen
, ssh istemcisi dosyayı okur veHost targaryen
olan ilk eşlemeden seçenekleriHost targaryen
. Daha sonra, bir sonraki stanzaları eşleşen bir desen için tek tek kontrol eder. Bir sonraki eşlemeHost * !martell
(martell
hariç tüm hostlar anlamına gelir) ve bumartell
bağlantı seçeneğini uygulayacaktır. Son tanımHost *
da eşleşir, ancak ssh istemcisi yalnızcaCompression
seçeneğini kullanacaktır, çünküUser
seçeneğiHost targaryen
zaten tanımlanmıştır.ssh targaryen
kullanılan seçeneklerin tam listesi aşağıdaki gibidir:HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes
ssh tyrell
çalıştırılırken eşleşen ana bilgisayar kalıpları şunlardır:Host tyrell
,Host *ell
,Host * !martell
veHost *
. Bu durumda kullanılan seçenekler şunlardır:HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes
HostName 192.168.10.50 User oberyn Compression yes
Diğer tüm bağlantılar için, ssh istemcisi
Host * !martell
veHost *
bölümlerinde belirtilen seçenekleri kullanır.
SSH Yapılandırma Dosyasını Geçersiz Kıl Seçeneği
Ssh istemcisi yapılandırmasını aşağıdaki öncelik sırasıyla okur:
- Komut satırından belirtilen seçenekler.
~/.ssh/config
.Ssh~/.ssh/config
dosyasında tanımlanan seçenekler./etc/ssh/ssh_config
dosyasında tanımlanan/etc/ssh/ssh_config
.
Host dev HostName dev.example.com User john Port 2322
ve
john
yerine kullanıcı
root
olarak bağlanmak dışında tüm seçenekleri kullanmak istiyorsanız, komut satırında kullanıcıyı belirtin:
ssh -o "User=root" dev
-F
(
configfile
) seçeneği kullanıcı başına alternatif bir yapılandırma dosyası belirlemenizi sağlar.
ssh
istemcisine ssh yapılandırma dosyasında belirtilen tüm seçenekleri yok saymasını söylemek için şunu kullanın:
ssh -F /dev/null [email protected]
Sonuç
Size kullanıcı ssh yapılandırma dosyanızı nasıl yapılandıracağınızı gösterdik. Ayrıca, bir SSH anahtar tabanlı kimlik doğrulaması ayarlamak ve bir şifre girmeden Linux sunucularınıza bağlanmak isteyebilirsiniz.
Varsayılan olarak, SSH 22 numaralı bağlantı noktasını dinler. Varsayılan SSH bağlantı noktasını değiştirmek, otomatik saldırı riskini azaltarak sunucunuza fazladan bir güvenlik katmanı ekler.
ssh terminaliProxy Otomatik Yapılandırma (PAC) Dosyasını Kullanma Riskleri - Kimlik Hırsızlığı ve daha fazlası
Bu gönderi açıklıyor Proxy Otomatik Yapılandırma PAC dosyaları ile ilgili tehditler ve el ile veya Phrozensoft Otomatik Yapılandırma Risk Koruyucusu aracılığıyla kötü amaçlı yönlendirme nasıl engellenir.
15 firefox'u config (about: config) tercihleri hakkında bilmeli
Firefox'un Davranışını Hakkında: Konfigürasyon Yoluyla Büyük Bir Kapsam İçin Özelleştirebileceğinizi Biliyor muydunuz? Bu 15 Firefox'u Config Hakkında Bilmeniz Gerekenler (about: config)…
İos için Google haritaları: sokak görünümünü kullanma ve sırayla gezinmeyi kullanma
İOS için Google Haritalar'da Sokak Görünümü'nü ve Sırayla Dönüş Navigasyonunu Kullanma'yı öğrenin.