Saya baru di MacBook dan saya menjalankan El Capitan.
Saya memigrasikan penggunaan mesin saya dari PC ke MacBook. Saya sudah lama menggunakan Putty dan SuperPuTTY di PC.
Saya ingin membuat dan menyimpan kredensial masuk ke server web saya di Terminal MacBook seperti yang telah saya lakukan di SuperPuTTY pada PC.
Apakah mungkin untuk menyimpan kredensial masuk server web di Terminal Mac?
Inilah Tujuan Keseluruhan Saya:
Saya ingin tahu apakah ada cara mudah di Terminal Mac untuk menyimpan kredensial login baris perintah berikut dan kemudian menggunakan semacam kode pendek untuk terhubung ke server web saya melalui Terminal:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Saya mengelola dan terhubung ke 5 server web yang berbeda sehingga memilah dan mengatur kredensial login dalam metode koneksi pendek / cepat akan menjadi penghemat waktu yang sangat besar. Terutama karena kata sandi saya adalah string 64-karakter samar.
Jawaban:
Anda dapat menyalin kunci publik Anda ke mesin jarak jauh. Selama mereka mengaktifkan otentikasi kunci publik, dan kunci publik Anda ada di mesin jarak jauh, Anda bisa
ssh
ke mesin tanpa harus memberikan kata sandi.Pertama, Anda perlu membuat keypair publik / pribadi seperti:
Ikuti petunjuknya. Ketika ditanya apakah Anda ingin melindungi kunci dengan frasa sandi, katakan YA! Ini praktik yang buruk untuk tidak melindungi kata sandi kunci Anda dan saya akan menunjukkan kepada Anda cara memasukkan kata sandi sesekali saja.
Jika sudah memiliki keypair, Anda dapat melewati langkah di atas.
Sekarang, dengan asumsi kunci ssh Anda ada pada Mac
~/.ssh/id_rsa.pub
Anda, Anda dapat menginstalnya pada mesin jarak jauh dengan menjalankan:Untuk contoh server spesifik Anda yang dikutip di atas, perintahnya akan terlihat seperti:
Anda harus memasukkan kata sandi untuk
[email protected]
melakukan salinan ini, tetapi ini harus menjadi yang terakhir kali Anda perlu melakukan ini. Dengan asumsi server jarak jauhsshd
adalah pengaturan untuk melakukan otentikasi kunci publik-swasta, ketika Anda ssh ke kotak sekarang seharusnya tidak meminta Anda untuk kata sandi untukroot
akun - alih-alih itu akan meminta kata sandi untuk kunci Anda . Baca terus untuk cara membuat ini sesuatu yang tidak perlu Anda masukkan sepanjang waktu.Ulangi langkah di atas untuk setiap mesin yang ingin Anda ssh masuk dengan kunci Anda, bukan kata sandi.
Harap dicatat, siapa pun yang memegang
~/.ssh/id_rsa
file Anda dapat melakukan ssh ke mesin iniroot
tanpa memberikan kata sandi untuk mesin jarak jauh. Kata sandi yang melindungi file kunci memastikan mereka perlu mengetahui kata sandi untuk kunci itu untuk menggunakannya. Pastikan file itu aman. Gunakan enkripsi disk di Mac Anda dan pertahankan izin pada file dan~/.ssh/
direktori dengan ketat.Untuk membuatnya lebih mudah menggunakan kunci tanpa harus memasukkan kata sandi setiap kali, OS X menjalankan
ssh-agent
proses di latar belakang pada mesin Anda. Agen ini akan melakukan cache keypair saat pertama kali Anda menggunakannya sehingga Anda hanya perlu memasukkan kata sandi sesekali. Jika Anda hanya tidur mac Anda, tidak pernah me-restart itu, Anda dapat pergi periode waktu yang lama tanpa perlu memasukkan kata sandi Anda.Anda dapat melakukan pra-cache semua kunci SSH Anda dengan
ssh-agent
menjalankan:Sekarang Anda hanya perlu mengingat kata sandi utama , bukan banyak kata sandi akun yang berbeda. Saya biasanya menyimpan kata sandi utama saya di 1Password (tidak ada afiliasi), lebih lanjut menyederhanakan berapa banyak kata sandi yang perlu saya ingat. Kemudian saya hanya mencarinya di 1Password dan memotong-rekatkan mereka di Terminal saat aneh saya me-restart Mac saya dan menyebabkan saya berjalan
ssh-agent
restart.Jika Anda menggabungkan menyalin kunci Anda ke mesin jarak jauh dengan solusi manajemen koneksi Terminal.app dalam pertanyaan ini , Anda akan memiliki sesuatu yang sangat dekat dengan Putty untuk pengalaman koneksi GUI.
Di sisi server, periksa
/etc/ssh/sshd_config
dan pastikan:diaktifkan dalam konfigurasi (ini secara default di OpenSSH). Anda mungkin juga ingin mengatur:
Saat Anda berada di sana, otentikasi berbasis kata sandi dinonaktifkan dan kunci menjadi satu-satunya cara untuk mengakses mesin.
Anda harus memulai kembali sshd pada mesin jika Anda membuat perubahan pada file konfigurasi.
sumber
PasswordAuthentication yes
sisi server dan Putty akan terus berfungsi seperti biasa di mesin Windows Anda. Ini bukan / atau skenario - Anda dapat mengizinkan kedua jenis otentikasi di server. Putty juga mendukung otorisasi kunci publik / pribadi seperti FWIW ini. Anda dapat menyalin~/.ssh/id_rsa*
file Anda ke mesin Windows Anda dan mengimpornya ke Putty untuk otentikasi ke server. Putty, di bawah tenda, menggunakan pustaka OpenSSH yang sama persis untuk terhubung sepertissh
pada OS X.ssh-add
masih berfungsi bahkan di Sierra (OS X 10.12). Terima kasihAnda dapat menggunakan sshpass untuk menyimpan kata sandi dan tidak perlu memasukkan setiap kali yang bukan praktik yang baik (masalah keamanan).
Ikuti instruksi untuk instalasi mac os x di: https://gist.github.com/arunoda/7790979
Ketika Anda telah menjalankan sshpass diinstal
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no [email protected]:2200
lakukan hal yang sama untuk 5 server web Anda dan Anda tidak perlu memasukkan kata sandi setiap kali.
sumber
ssh -p 2200 [email protected]
danPassword: **********************
?ssh-copy-id
bukan bagian dari distribusi OS X standar.Selain hal-hal kunci publik / pribadi, file .ssh / config dapat dikonfigurasi untuk memudahkan penggunaan perintah ssh, seperti alias, defaut pengguna / port per server, opsi ssh, perintah proxy ...
Pada dasarnya segala sesuatu yang rumit yang dapat Anda masukkan ke dalam perintah ssh dapat juga ada di file ini.
sumber
Saya telah mem-porting Putty ke Mac sebagai bundel aplikasi asli, jadi tidak perlu untuk macports atau terminal jika Anda bukan pengguna teknis.
Informasi lebih lanjut dengan tangkapan layar ada di sini: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
Tepuk tangan,
sumber