Cara mengatur nama server alias

15

Saya ingin mengatur nama server alias di laptop saya (Linux). Saya tidak ingin menggunakan /etc/hosts/file karena alamat IP dari server jauh berubah . Alasan saya ingin melakukan ini adalah karena nama server adalah 27 karakter. Aku ingin melakukan ini:

ssh server

Dari pada:

ssh server.subdomain.domain.com

Saya memiliki beberapa subdomain yang saya gunakan. Bagaimana cara mengatur ini?

PS: Saya tidak menganggap ini sebagai penipuan karena jawaban serupa lainnya tidak membahas fakta bahwa alamat IP akan berubah.

Jess
sumber
~/.ssh/configdan di /etc/resolve.cnfbawah ini adalah jawaban yang sangat baik.
Jess

Jawaban:

20

Gunakan file ~/.ssh/config

contoh konten:

Host jane
HostName long.server.name
User root

maka Anda bisa menggunakannya ssh janesebagai gantinyassh [email protected]

Jika alamat IP berubah dan Anda tidak mengetahui revDNS dari server ini, Anda dapat mencoba menggunakan perintah di host 1.0.0.1mana 1.0.0.1 adalah alamat IP - ini akan memberi Anda nama revDNS saat ini yang akan dapat Anda konfigurasi.

Jika nama host (reverse DNS) berubah dengan perubahan ip atau server Anda berada di belakang NAT - Anda dapat menggunakan Dynamic Dns (dyndns.org) dan / atau menggunakan penerusan port.

mnmnc
sumber
7

Untuk menggunakan "ssh server" yang lebih pendek daripada "ssh server.subdomain.domain.com", Anda hanya perlu menambahkan "subdomain.domain.com" ke bidang pencarian di /etc/resolv.conf. Jika tidak ada bidang pencarian, Anda dapat membuatnya.

Misalnya - anggap /etc/resolv.conf Anda terlihat seperti ini:

cari domain1.com domain2.com domain3.com
nameserver 1.2.3.4
nameserver 5.6.7.8

Ubah baris pencarian agar terlihat seperti ini:

cari domain1.com domain2.com domain3.com subdomain.domain.com

Anda dapat menempatkan subdomain.domain.com di bagian depan daftar ini jika Anda ingin dicari terlebih dahulu.

Pengguna123456
sumber
1
Saya suka jawaban Anda. Karena itu akan memungkinkan penggunaan nama penyortir server di beberapa aplikasi. Namun, saya pikir ini mungkin menghasilkan lebih banyak lalu lintas DNS dengan setiap upaya koneksi - tetapi saya tidak akan bertaruh untuk ini.
mnmnc
1
Banyak sistem operasi modern memiliki kemampuan untuk menembolok tanggapan ke permintaan dns secara lokal. Pertama kali catatan ditanyai jawabannya akan datang dari dns tetapi pertanyaan selanjutnya akan dijawab dari cache sampai ttl catatan kedaluwarsa. Anda dapat melihat isi cache di windows dengan "ipconfig / displaydns" dan dengan "sudo killall -INFO mDNSResponder" dan kemudian melihat konten /var/log/system.log di mac osx.
Pengguna123456
Jadi saya kira jika entri di-cache dan tidak kedaluwarsa - jika pada saat ini ip tujuan berubah - Anda akan mendapatkan batas waktu koneksi. Kecuali saya kehilangan sesuatu?
mnmnc
1

Anda bisa menambahkan alias di Anda .bashrcatau .zshrc:

alias server1='ssh server1'

Dengan server1 ditambahkan pada Anda ~/.ssh/configmisalnya:

Host server1
Hostname address
User username-on-this-server
Atropo
sumber