Saya perlu masuk ke beberapa server di tempat kerja untuk menyelesaikan pekerjaan saya. Saya bosan mengetik FQDN server untuk diakses. Saya masuk / keluar melalui ssh di jaringan pribadi kami. Saya 99% yakin itu di jaringan pribadi kita sendiri b / c semua server memiliki ip addr 10.xyz Apakah ada cara untuk ssh ke server hanya dengan nama host dan bukan nama domain?
Kami memiliki server di banyak negara. Cara server kami dinamai sangat panjang. Dinamai sebagai berikut:
hostname.country.domainname.com
Saya sedang mengetik carpal tunnel
ssh [email protected]
... setiap kali saya mengakses salah satu server kami. Jika saya di AS dan saya mencoba mengakses host lain yang ada di AS, saya cukup mengetik ssh me@hostname2
dan saya terhubung dengan baik. Namun, jika saya di AS dan mencoba terhubung ke server di Inggris, saya tidak dapat mengetik ssh [email protected]
dan terhubung hostname3
.
Solusi yang saya lakukan adalah menyiapkan alias di file ~ / .ssh / config saya untuk beberapa server. Namun, saya pikir tidak mungkin menambahkan 1000+ server ke dalam file itu. Saya sudah menambahkan 20+ server dan rekan kerja saya berpikir saya gila, meskipun saya pikir mereka gila karena mengetik FQDN saat menyanyi.
Apakah ada cara mudah bagi kami untuk mengatur sesuatu sehingga kami tidak perlu mengetikkan domainname.com setiap kali?
sumber
$HOME/.ssh/config
atau Anda dapat membuatnya dalam sistem luas/etc/ssh/ssh_config
user@*.eng
?ssh [email protected]
dan itu akan berfungsi seperti yang diharapkan. Yang dilakukan adalah menulis ulang komponen hostname. Bahkan akan bekerja denganscp
dansftp
dan sebagainya.Jika Anda menambahkan
untuk
/etc/resolv.conf
, dan menggunakanhostname.country
,ssh
(dan program jaringan lainnya, dalam hal ini) akan secara otomatis menambahkandomainname.com
untuk Anda 1 .Saya tidak berpikir menambahkan domain negara yang berbeda ke
search
jalur Anda adalah ide yang baik karena Anda mungkin mendapatkan perilaku yang tidak terduga jika dua server di dua negara berbeda memiliki nama host yang sama 2Saya percaya metode ini lebih baik daripada mengubah
ssh
konfigurasi karena ini memungkinkanhostname.country
untuk menyelesaikan terlepas dari program yang Anda gunakan (telnet
, VNC, ...).Lihat
resolv.conf(5)
1 Lebih akurat, itu akan ditambahkan
domainname.com
jika itu tidak bisa diselesaikanhostname.country
dengan sendirinya.2 Dalam skenario seperti itu
hostname
akan menyelesaikan ke server di negara yang domainnya terdaftar pertama kali disearch
jalur.sumber
man resolv.conf
Anda bisa menggunakan
CanonicalDomains
opsi di ssh config Anda.Menambahkan berikut ini ke file konfigurasi ssh Anda akan membuat ssh mencoba menambahkan
domainname.com
ke host apa pun yang memiliki paling banyak 1 titik dalam namanya:Dengan konfigurasi
ssh foo.eng
ini pertama kali akan mencobafoo.eng.domainname.com
, dan mundur kefoo.eng
jika tuan rumah tidak dapat ditemukan. Demikian juga,ssh github.com
pertama-tama akan mencobagithub.com.domainname.com
, jadi jika Anda ingin terhubung ke GitHub, server DNS Anda tidak boleh mengembalikan catatan untuk host yang tidak ada.The
CanonicalizeMaxDots
dapat digunakan untuk mengontrol berapa banyak titik-titik dapat muncul dalam nama host sebelum ssh menganggap itu memenuhi syarat dan tidak appenddomainname.com
. standarnya adalah 1 yang seharusnya cukup untuk Anda mengingat skema yang Anda miliki saat ini, tetapi jika Anda pernah mendapatkan sesuatu sepertihostname.city.country
Anda perlu meningkatkannya.sumber