Apakah ada cara sederhana untuk mengambil IP dari HostName
konfigurasi ssh pada baris perintah? Banyak kali saya harus menggunakan scp
dan ingin terhubung ke mesin, tetapi saya hanya ingat HostName.
command-line
ssh
scp
m33lky
sumber
sumber
.ssh/config
dan/etc/ssh/ssh_config
. apakah ada alasan Anda tidak bisa scp oleh alias yang didefinisikan dalam konfigurasi?Jawaban:
scp akan membaca
~/.ssh/config
dan/etc/ssh/ssh_config
. selama Anda scp ke / dari nama salah satu alias host di konfigurasi ssh Anda, itu seharusnya berfungsi.karena itu sepertinya agak pendek untuk menjadi jawaban, inilah beberapa info lebih lanjut dengan hal-hal yang dapat Anda lakukan dengan konfigurasi ssh Anda ...
Berikut adalah pos yang menjelaskan beberapa fitur lanjutan dari file konfigurasi ssh: http://magazine.redhat.com/2007/11/27/advanced-ssh-configuration-and-tunneling-we-dont-need-no- stinking-vpn-software /
Perlu melakukan tunnel ssh / scp melalui proxy http? tidak masalah, cukup gunakan langkah-langkah yang diuraikan di sini: http://www.mtu.net/~engstrom/ssh-proxy.php
Penggunaan lain dari opsi ProxyCommand: http://jasonmc.wordpress.com/2008/04/16/ssh-magic/
sumber
Untuk memetakan dari
host
argumen yang diberikan pada baris perintah kehostname
entri ssh_config mudah digunakanssh
.Anda dapat memintanya untuk mengevaluasi dan mencetak apa yang akan digunakan untuk konfigurasi untuk baris perintah, tanpa benar-benar terhubung. Maka Anda hanya perlu mencabut untuk apa daftar itu
hostname
(Perhatikan bahwa itu mengkanoniskan nama kunci konfigurasi dengan mengubahnya menjadi huruf kecil). Contoh sederhana adalah:Jika .ssh / config berisi:
Ini akan dicetak
database.example.com
.Untuk melakukan ping, tentu saja Anda dapat mengevaluasi output dan menggunakannya sebagai argumen:
sumber
Tidak perlu melakukan itu untuk
scp
, tetapi Anda dapat menggunakanssh
jejak debugging.sumber
Biasanya, Anda bisa melakukannya
host HostName
dan Anda akan mendapatkan alamat IP.Jika
host
tidak diinstal (seharusnya), Anda dapat menggunakannslookup HostName 8.8.8.8
yang akan menggunakan server DNS Google untuk melakukan pencarian.Untuk melakukan hal-hal ini, penyelesai mesin Anda harus memiliki konfigurasi yang benar (dalam file /etc/resolv.conf dan mungkin /etc/nsswitch.conf) atau Anda harus menggunakan "nama domain yang memenuhi syarat", lengkap dengan host, domaiin, dan "TLD" (.org, .com, .net sufiks semacam itu).
sumber
~/.ssh/config
, yang saya pahami sebagai inti dari pertanyaan ini.HostName
adalah alias sewenang-wenang, bukan nama domain.gunakan ProxyCommand palsu ...
sumber