Bagaimana cara membuat kunci privat-publik menggunakan ssh-keygen dan membuatnya resmi?

19

Saya ingin membuat kunci publik-pribadi pada Sever 1 dan menyimpannya di lokasi yang bukan lokasi default.

Setelah itu, simpan kunci publik di Server 2; sekali lagi BUKAN di lokasi default.

Kemudian buat kunci ini sebagai kunci yang diotorisasi.

Namun, saya tidak dapat menemukan authorized_keysfile di ~/.sshfolder. Bagaimana saya membuatnya resmi?

Aditya
sumber
1
ssh-keygen adalah perintah untuk menghasilkan kunci. Ia meminta lokasi file kunci selama pembuatan. Saya pikir Anda harus membuat kunci file yang diotorisasi jika Anda tidak punya satu
sagarchalise

Jawaban:

22
  1. Lari ssh-keygen -f filename.
  2. Lari scp filename username@server:filename-on-server
  3. Masuk ke server dan jalankan cat filename-on-server >> ~/.ssh/authorized_keys

Anda juga dapat mengganti langkah 2 dan 3 dengan ssh-copy-id -i filename username@server.

Mikel
sumber
Saya mendapatkan kesalahan: terlalu banyak argumen
IgorGanapolsky
@ Igor pada langkah mana?
Mikel
1
Jika Anda tidak menambahkan nama file.pub daripada nama file (yang akan menjadi kunci pribadi Anda?)
Samuel
1

Gunakan ssh-keygenperintah. Di server (tempat Anda ingin ssh) menyimpan kunci publik dalam file ~/.ssh/authorized_keys. Jika Anda belum memiliki direktori .ssh di dalam rumah Anda (~), buatlah (juga berhati-hatilah: sepertinya sshd pilih-pilih - untuk alasan keamanan - bahwa tidak ada pengguna lain yang dapat membaca file / dir, lebih baik untuk mengeluarkan chmod 700 pada direktori .ssh Anda dan chmod 600 pada file di dalamnya).

Pada mesin yang ingin Anda ssh dari ("klien"), Anda dapat menggunakan kunci pribadi untuk ssh ke server Anda. Anda dapat menyimpannya di mana saja kemudian Anda dapat menggunakan -isakelar ssh, untuk memberikan kunci publik yang akan digunakan. Saya menulis ini, karena Anda menyatakan bahwa "tidak menyimpan di lokasi default". Lokasi default adalah file id_dsa(untuk kunci DSA) di dalam direktori .ssh Anda. Maka Anda tidak perlu -itombol untuk menentukan kunci Anda, karena akan diambil dari sana secara otomatis.

LGB
sumber
1

Sepertinya Anda sudah membuat kunci. Jika tidak, jalankan ssh-keygen dan terima defaultnya. Buat sendiri file berwenang_kunci:touch authorized_keys

Ketika Anda menyimpan kunci pribadi Anda di lokasi yang tidak standar, pastikan dan gunakan -i: ssh -i /path/to/privatekey user@host

Berikut ini adalah artikel bagus tentang ssh-keygen dan menggunakan otor_keys untuk menyederhanakan login ssh:

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

djeikyb
sumber