Saya terhubung ke sejumlah mesin terus-menerus, dari lokasi fisik yang berbeda (dan dengan demikian mesin fisik yang berbeda). Sebagian besar ini dilakukan meskipun ssh, kadang-kadang mesin gateway atau dua diperlukan (yang aku memanggil via ProxyCommand
di ~/.ssh/config
). Saya ingin tahu apakah ada metode untuk mengidentifikasi IP atau nama host dari mesin yang memanggil koneksi awal (yaitu mesin yang sedang saya kerjakan) di ujung jarak jauh?
- Saya tidak ingin mengirim variabel lingkungan karena beberapa mesin saya tidak memiliki root untuk mengatur
PermitUserEnvironment
. - The
$SSH_CLIENT
variabel lingkungan ini berguna untuk sambungan langsung, tetapi hanya berisi daftar gateway terbaru.
Ide saya saat ini untuk sebuah solusi adalah untuk meraih $SSH_CLIENT
, ssh untuk itu, menemukan $SSH_CLIENT
nilai mesin itu dan ulangi sampai tidak ada; kemudian ambil nama host dan tarik kembali entah bagaimana.
Sepertinya sedikit pekerjaan hack; apakah ada yang punya metode yang lebih baik?
Saya bekerja di bash shell kebanyakan, tapi saya juga senang atas saran yang tidak menggunakannya juga.