Beberapa dari kami di perusahaan saya memiliki akses root pada server produksi. Kami mencari cara yang baik untuk membuatnya sangat jelas ketika kami ssh akan masuk
Beberapa ide yang kami miliki adalah:
- Prompt merah terang
- Jawab sebuah teka-teki sebelum mendapatkan sebuah shell
- Ketikkan kata acak sebelum mendapatkan shell
Apa sajakah teknik yang kalian gunakan untuk membedakan sistem produksi?
Jawaban:
Prompt merah adalah ide bagus, yang juga saya gunakan.
Trik lain adalah dengan menempatkan peringatan ASCII-art dalam
/etc/motd
file.Memiliki sesuatu seperti ini menyambut Anda ketika Anda masuk harus mendapatkan perhatian Anda:
Anda dapat menghasilkan peringatan seperti itu di situs web ini atau Anda dapat menggunakan
figlet
perintah.Seperti yang disarankan Nicholas Smith dalam komentar, Anda dapat membumbui sesuatu dengan beberapa naga atau hewan lain menggunakan
cowsay
perintah.Alih-alih menggunakan file / etc / motd, Anda juga bisa memanggil
cowsay
ataufiglet
dalam.profile
file tersebut.sumber
Bukan hal yang sama, tetapi situs web ini merekomendasikan agar pengembang Anda mengenakan sombrero merah muda ketika melakukan perubahan pada sistem produksi. Anda mungkin bisa memiliki aturan yang sama untuk memasukkannya.
sumber
Yang terbesar yang saya gunakan adalah skema penamaan diskrit di mana prod-sistem diberi nama jelas berbeda dari contoh tes / dev. Ini membuat gaya "Nama Pengguna @ Hostname:" tampak berbeda. Dan jelas saya maksud lebih dari sekedar kata yang berbeda, format yang berbeda juga:
contoh: PRD-WEB001 vs DEVEL-BOB-WEB001
Ini memiliki beberapa hal untuk itu:
Dan yang terbaik, itu tidak memerlukan terminal-konfigurasi khusus untuk produksi hanya untuk menghindari kesalahan Ups.
Dalam pengalaman saya, Anda menginginkan sesuatu yang selalu mengingatkan Anda di mana. Metode masuk seperti teka-teki bagus selama sekitar 10 detik, sampai Anda lupa jendela mana. Yang diperlukan hanyalah melakukan
ls
di direktori yang salah untuk menggulir banner masuk yang tidak terlihat, mengubur jendela terminal di bawah jendela browser sambil mencari sesuatu, alt-tab kembali ke jendela yang salah dan kekacauan terjadi kemudian. Terbaik untuk memiliki beberapa isyarat visual konstan seperti command-prompt yang sangat berbeda.sumber
Satu hal yang perlu Anda ingat adalah bahwa ini harus menjadi pengingat terus-menerus, bukan hanya indikator pada saat login. Sangat sering, seseorang akan memiliki beberapa cangkang yang berjalan pada saat yang sama di berbagai tab dan berpindah di antara mereka. Beberapa akan menjadi dev, beberapa produksi. Jadi ketika Anda menjalankan perintah, Anda harus memiliki indikator pada saat itu. Jadi, memiliki prompt khusus adalah metode terbaik, dalam pengalaman saya, dengan judul / tab bar yang dimodifikasi menjadi pelengkap yang bagus untuk menemukan jendela / tab yang tepat dengan mudah.
Jadi saya akan merekomendasikan memiliki prompt berwarna (merah menjadi pilihan yang jelas) dan semua huruf besar untuk nama host, dengan perilaku yang sama untuk pengguna (privilege vs non-privilege) sebagai prompt Anda. Beberapa contoh:
Biasanya kira-kira seperti itu
dalam file startup shell Anda. Yang ini untuk yang biru. Ganti
44
dengan41
cemara merah, dan42
hijau. Warna lain dan pola liar juga tersedia .sumber
Ini saran saya:
1) Pastikan sebagian besar perintah (rm, chown, chmod, /etc/init.d/*) pada lingkungan Produksi memerlukan akses sudo
2) Gunakan PS1 / PS2 untuk menunjukkan bahwa pengguna berada di server Prod
Ini akan menampilkan prompt perintah sebagai
3) Jika Menggunakan klien Putty / SSH, Anda selalu dapat mengatur warna / profil Latar belakang yang unik untuk membuat server Produksi menonjol.
sumber
Anggap saja ide kedua dan ketiga Anda membantu selama koneksi awal tetapi tidak bernilai ketika Anda memiliki beberapa terminal terbuka dan berpindah dari satu terminal ke terminal lainnya. Gagasan sysadmin1138 tentang penggunaan penamaan adalah baik ketika dapat diterapkan tetapi ada banyak kasus di mana tidak bisa.
Satu-satunya hal yang saya temukan benar-benar berharga adalah prompt berwarna. Saya suka hijau untuk dev / pengujian, merah untuk produksi dan biru untuk mesin di DMZ. Dengan begitu, bahkan jika saya memiliki dua mesin dengan nama yang sama (di jaringan yang berbeda), seperti saat menyiapkan mesin pengganti, saya masih dapat dengan mudah mengetahui mana yang saya pakai.
sumber
Prompt perintah merah / khusus baik. Hal lain mungkin logout otomatis lebih cepat pada mesin-mesin menggunakan variabel TMOUT. Jika Anda telah membuka banyak jendela, produksi akan lebih cepat hilang.
Ini harus mengarah pada perilaku yang berbeda:
sumber
Bekerja pada mesin produksi dengan akun root biasa tidak pernah merupakan ide yang baik.
Punya akun dengan izin sudo penuh. Tidak mengizinkan penyimpanan sesi sudo. Larang sudo su. Gunakan kata sandi terpisah untuk itu (bukan yang Anda miliki untuk mesin dev Anda). Mungkin tweak sudo untuk memberi tahu tentang identitas produksi shell sebelum menjalankan perintah (via alias).
Ini akan membuat kesalahan yang tidak disengaja cukup sulit. Dan prompt merah tidak pernah sakit.
sumber
sudo bash
). Anda bisa mendapatkan shell root dari pengaturan 'daftar hitam' apa pun. (Jika hati-hati, Anda dapat menghentikannya dengan pengaturan daftar putih, tetapi biasanya tidak dijamin.)Saya pergi dengan ide prompt merah, dan merasa cukup membosankan untuk menemukan kode kerja
.bashrc
.Jadi inilah versi saya, siap dimasukkan dalam
.bashrc
- https://github.com/RichVel/nicer-bash-prompt . Ini benar-benar didorong oleh hostname, sehingga selama Anda memiliki pola yang cocok untuk nama host produksi (katakanlahxyprod01
,xyprod02
, dll) akan bekerja dengan baik, dan Anda dapat menggunakan yang sama.bashrc
di semua lingkungan.Ini terlihat seperti ini:
Ini menciptakan bash prompt yang lebih bagus termasuk prompt merah pada host produksi - juga menunjukkan kepada Anda cabang git saat ini, dan 2 direktori terakhir dalam $ PWD. Berhati-hatilah untuk tidak mengacaukan tampilan yang cepat ketika melakukan Ctrl / R (pencarian terbalik) di bash.
Juga termasuk fitur opsional untuk menyinkronkan sejarah bash Anda di semua jendela terminal, di sepanjang baris jawaban ini . Ini bagus tetapi tidak semua orang menginginkannya, jadi dinonaktifkan secara default.
sumber
Meskipun saya tidak tahu seperti apa pengaturan IT Anda, salah satu solusi yang mungkin efektif adalah memiliki ruang khusus yang harus Anda masuki ke SSH ke server produksi sebagai root. Jika Anda memiliki pusat data, ini bisa jadi ruang server itu sendiri, tetapi memiliki lokasi fisik yang terpisah dari mana pekerjaan 'normal' tidak dilakukan akan cukup efektif sebagai pengingat bahwa Anda sedang mengakses mesin produksi.
sumber
Hanya mengubah saran di atas. Saya menggunakan CDE sebagai desktop unix saya dan semua sistem produksi yang saya akses melalui menu di .dt / dtwmrc. Pada semua sistem dev dan UAT saya menjaga skema warna normal saya tetapi pada sistem prod saya mengatur terminal untuk memiliki latar belakang merah. Saya tidak suka tampilan tapi itu intinya.
eta - merindukan Karol pada dasarnya menyarankan hal yang sama
sumber
Ketika saya masuk ke mesin produksi, saya mendapatkan paragraf yang memperingatkan saya bahwa itu adalah mesin produksi, serta daftar pendek pedoman. Ada nomor yang bisa saya panggil untuk dukungan UNIX jika saya tidak berpikir saya bisa melakukan tugas saya sendiri dengan aman, pengingat bahwa meledakkan mesin produksi dapat membuat saya kehilangan pekerjaan, dan pengingat bahwa semua yang saya lakukan dicatat.
sunting: Saya bekerja di industri transportasi.
sumber
Di Putty, Anda dapat mengubah judul jendela menjadi sesuatu selain dari standar untuk sesi tersimpan tertentu. Ini selalu tetap di jendela tidak peduli apa yang Anda lakukan di dalam jendela. Ini juga muncul di bilah tugas.
Buka Jendela, klik Perilaku. Masukkan sesuatu di Window Title seperti:
sumber
Jawaban sederhana? Ubah warna shell Anda menjadi merah di konfigurasi shell. Ini akan menjadi jelas dan sederhana untuk diatur. Tidak hanya itu, tetapi tidak seperti header server, itu tidak akan hilang setelah Anda mengetikkan beberapa perintah.
sumber
Inilah yang saya lakukan di Mac saya. Untuk setiap server, saya menambahkan entri untuk itu di file ~ / .ssh / config saya, mis
Applescript ini dipicu setelah sesi SSH dibuat. Ini menetapkan warna latar belakang terminal ke nilai RGB yang disediakan (atau kembali ke default jika tidak ada nilai warna yang disediakan). Bagian yang berpotensi rumit adalah mencegat akhir sesi SSH untuk mengatur warna kembali ke default. Untuk itu, saya membuat skrip shell berikut sebagai ~ / bin / ssh untuk menggantikan perintah ssh default. Ini pada dasarnya memotong dan membungkus setiap panggilan ke perintah SSH. Saya mencoba menggunakan aliasing dan fungsi, tetapi solusi ini bekerja paling baik:
Inilah sumber untuk skrip change_terminal_colours.scpt . Letakkan ini di direktori ~ / bin Anda juga:
Saya menulis solusi ini seminggu yang lalu dan telah menggunakannya sejak saat itu. Saya berharap orang lain menemukannya bernilai. Saya merasa ini berfungsi lebih baik daripada solusi apa pun yang saya temukan di Googling.
sumber
Grup saya menggunakan visionapp Remote Desktop (2017 edit: sepertinya produk diganti namanya tapi saya pikir itu sama) untuk RDP ke mesin Windows dan SSH ke yang Linux. Koneksi kami dikelompokkan ke dalam folder berdasarkan tingkat dan diberi warna tab.
Jadi, setiap kali kita membuka koneksi produksi - bam! - Kami mendapatkan beberapa merah terang di wajah kami:
Ini jelas merupakan investasi yang berharga jika Anda adalah toko Windows besar dan banyak mengandalkan RDP. Saya yakin ada alat hebat lainnya jika semua yang Anda butuhkan adalah SSH.
sumber
Terlepas dari prompt unik (yang tampaknya merupakan solusi paling andal), jika Anda masuk dari workstation yang sama, Anda dapat menggunakan profil berbeda untuk sesi SSH Anda.
Sebagai contoh, saya memiliki latar belakang merah untuk sistem produksi, hijau untuk pengembangan, biru untuk infrastruktur (router dll) dan putih untuk workstation lokal.
Jika Anda menggunakan GNOME, ada cara mudah untuk menyalakan koneksi SSH dengan profil yang Anda inginkan:
gnome-terminal --window-with-profile=production -e 'ssh [email protected]'
Kerugian utama - sisi klien, jadi prompt khusus masih merupakan taruhan terbaik Anda jika Anda mengakses server dari lokasi yang berbeda.
sumber
Cara lain untuk memperjelas bahwa Anda menggunakan sistem produksi adalah mengatur fitur TMOUT (autologout) pada sistem produksi.
sumber
Karena persyaratan peraturan yang luas saat bekerja di industri tertentu, di sini kegiatan semua orang dicatat untuk setiap perselisihan di masa depan. Karena itu, akses juga dibatasi dan Anda harus melewati beberapa "menu" yang memungkinkan Anda mengakses mesin sebagai salah satu dari segelintir pengguna tepercaya. Dengan mengatur sistem ini, seseorang harus secara sadar memilih lingkungan PRODUCTION atau QA dan kemudian memilih host yang ingin mereka akses dari daftar. Ini juga memiliki periode waktu habis sehingga Anda tidak mengalami situasi masuk ke host prod dan lupa dengan lingkungan mana Anda di hari berikutnya.
sumber
saya menggunakan perubahan cepat seperti yang lain di sini. Cepat dan tidak menyenangkan tetapi berfungsi dengan baik untuk tujuan saya. Ini akan memberi Anda merah sebagai pengguna normal pada sistem produksi, dan huruf besar merah sebagai root pada sistem prod.
Itu dapat ditulis dalam baris yang lebih sedikit tetapi saya melakukannya seperti ini sehingga saya dapat men-tweak 2 kasus lainnya (non root-non prod) jika saya mau.
Kami bekerja dengan asumsi bahwa server produksi tidak menggunakan DHCP, tetapi Anda dapat menggunakan metode lain untuk bekerja jika itu adalah sistem prod. Apapun yang berhasil untuk Anda.
sumber
Memiliki kata sandi root yang berbeda (mungkin lebih lama) pada mesin produksi.
Anda dapat membuat sudo khusus (atau pembungkus sudo), sehingga pesan khusus dihasilkan untuk mesin produksi.
sumber
Di sini, kami memiliki konfigurasi dempul standar untuk membuat warna latar depan dari seluruh layar sebagai merah muda cerah.
Ini bekerja dengan cukup baik, tapi saya suka beberapa ide lain di sini.
sumber
di file .bashrc / .bash_profile
sumber