Saya sudah mencoba untuk setup password-kurang ssh b / w A
untuk B
dan B
untuk A
juga. Menghasilkan kunci publik dan pribadi menggunakan ssh-keygen -trsa
pada kedua mesin. Menggunakan ssh-copy-id
utilitas untuk menyalin kunci publik dari A
ke B
dan B
ke A
.
Kata sandi ssh berfungsi dari A
ke B
tetapi not
dari B
ke A
. Saya telah memeriksa izin folder ~ / ssh / dan tampaknya normal.
A's .ssh
izin folder:
-rw------- 1 root root 13530 2011-07-26 23:00 known_hosts
-rw------- 1 root root 403 2011-07-27 00:35 id_rsa.pub
-rw------- 1 root root 1675 2011-07-27 00:35 id_rsa
-rw------- 1 root root 799 2011-07-27 00:37 authorized_keys
drwxrwx--- 70 root root 4096 2011-07-27 00:37 ..
drwx------ 2 root root 4096 2011-07-27 00:38 .
B's .ssh
izin folder:
-rw------- 1 root root 884 2011-07-07 13:15 known_hosts
-rw-r--r-- 1 root root 396 2011-07-27 00:15 id_rsa.pub
-rw------- 1 root root 1675 2011-07-27 00:15 id_rsa
-rw------- 1 root root 2545 2011-07-27 00:36 authorized_keys
drwxr-xr-x 8 root root 4096 2011-07-06 19:44 ..
drwx------ 2 root root 4096 2011-07-27 00:15 .
A
adalah ubuntu 10.04 (OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009) B
adalah mesin debian (OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Okt 2007)
Dari A
:
#ssh B
bekerja dengan baik.
Dari B
:
#ssh -vvv A
...
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/identity ((nil))
debug2: key: /root/.ssh/id_rsa (0x7f1581f23a50)
debug2: key: /root/.ssh/id_dsa ((nil))
debug3: Wrote 64 bytes for a total of 1127
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,gssapi,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug3: no such identity: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
[email protected]'s password:
Yang pada dasarnya berarti tidak mengautentikasi menggunakan file /root/id_rsa
. Saya menjalankan ssh-add
perintah di kedua mesin juga.
Bagian otentikasi /etc/ssh/sshd_config
file adalah
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
Saya kehabisan ide. Bantuan apa pun akan dihargai.
PermitRootLogin
pada/etc/ssh/sshd_config
pada A?yes
jika tidak, pengguna tidak akan dimintai kata sandi.Jawaban:
Pastikan Anda telah mengikuti prosedur berikut:
Pada Mesin A
buka terminal dan masukkan perintah sebagai berikut:
Hanya untuk memastikan bahwa kita root.
Jika perintah di atas menampilkan sesuatu seperti di bawah ini kita root lagi beralih ke root menggunakan
su
perintah1) Buat kunci.
Saya belum menggunakan kata sandi apa pun. Jika Anda membutuhkannya, Anda dapat menggunakannya.
2) Salin kunci publik ke
.ssh/authorized_keys
file mesin B.Sekarang coba masuk ke mesin, dengan
ssh 'root@mylap'
, dan check in:untuk memastikan kami belum menambahkan kunci tambahan yang tidak Anda harapkan.
Ganti mylap dengan nama host atau ip dari mesin yang ingin Anda login (mis. Mesin B)
3) Masuk ke B tanpa kata sandi
Di Mesin B
4) Buat kunci untuk masuk kembali ke Mesin A
5) Salin kunci publik ke
.ssh/authorized_keys
file mesin A.Sekarang coba masuk ke mesin, dengan
ssh 'root@aneesh-pc'
, dan check in:untuk memastikan kami belum menambahkan kunci tambahan yang tidak Anda harapkan.
6) Login ke A tanpa kata sandi
Jika Anda dapat menyelesaikan langkah-langkah ini, Anda selesai. Sekarang Anda memiliki dua mesin dengan login yang diaktifkan ssh-key (kunci publik).
sumber
/root
(770)drwxrwx--- 70 root root 4096 2011-07-27 00:37 ..
terlalu terbuka. Mengubah izin untukdrwxr-xr-x
dan sekarang berfungsi. Tidak dapat membayangkan kenyataan bahwa izin direktori induk memengaruhissh
.770
menetapkan juga, berubah menjadi750
dan semuanya benar dengan dunia :) Saya selalu lupa bahwa linux prems dapat bekerja secara terbalik seperti itu.Setelah mengatur ssh tanpa kata sandi , saya masih ditanyai kata sandi pengguna saya. Melihat pada
/var/log/auth.log
mesin remote menunjukkan masalah ini:Jadi, pastikan untuk melakukannya dengan benar:
Meskipun melarang pengguna lain untuk menulis di
.ssh
folder Anda sudah jelas, memiliki persyaratan yang sama untuk folder rumah Anda lebih sulit.Juga, cek
/etc/ssh/ssd_config
untuk memastikan bahwaRSAAuthentication
danPubkeyAuthentication
pilihan yang tidak cacat. Defaultnya adalahyes
seharusnya tidak menjadi masalah.sumber
~/.ssh
menjadi sesuatu yang lain, dan kemudian membuat yang baru dengan kunci saya sendiri di sana.Mungkin hanya masalah izin tingkat yang lebih tinggi. Anda perlu menghapus izin menulis dari grup dan lainnya ke direktori home Anda dan direktori .ssh. Untuk memperbaiki izin ini, jalankan
chmod 755 ~ ~/.ssh
atauchmod go-w ~ ~/.ssh
.Jika Anda masih mengalami masalah, keluarkan grep berikut pada log Anda:
(ganti
LOCAL_USER_NAME
dengan nama pengguna lokal Anda ...)Mudah-mudahan itu akan memberi tahu Anda lebih banyak tentang masalah Anda, dengan asumsi informasi otentikasi sshd sedang dicatat ke log aman, yang seharusnya secara default. Jika Anda melihat kesalahan yang terlihat seperti ini:
Ini masalah yang dijelaskan di atas dan Anda perlu menemukan direktori yang dimaksud dan menghapus izin menulis dari grup dan lainnya.
Adapun alasan bahwa Anda perlu membatasi izin menulis ke direktori home Anda (meskipun izin sudah dibatasi pada .ssh dan direktori berikutnya), itu akan memungkinkan pengguna lain untuk mengganti nama direktori .ssh Anda dan membuat yang baru - walaupun itu akan tidak dapat digunakan sebagaimana adanya (karena izin salah) perbaikan untuk sebagian besar pengguna mungkin akan mengubah izin daripada memeriksa konten direktori ...
TLDNR : Mengizinkan akses tulis untuk grup dan / atau lainnya ke direktori home Anda akan membuat ssh force password login.
sumber
apakah Anda menggunakan akun root di setiap mesin? Biasanya di Ubuntu Anda akan menggunakan akun pengguna dan memberikannya hak istimewa sudo sebagaimana diperlukan.
Jika Anda menggunakan pengguna non root
sudo chown $USER -R ~/.ssh
dapat memperbaiki masalah AndaHal-hal lain yang perlu diperiksa:
periksa bahwa B ini
id_rsa.pub
adalah di Aauthorized_keys
.periksa A's
/etc/ssh/sshd_config
berisisumber
/etc/ssh/sshd_config
filedi / etc / ssh / sshd_config pada perubahan target
untuk
lalu bunuh -HUP PID sshd Anda:
sumber
root
login SSH berfungsi. Itu sama sekali tidak terkait dengan pertanyaan ini. Lebih jauh, jikaroot
akun diaktifkan (tidak secara default di Ubuntu), mengaktifkanroot
login SSH bisa sangat berbahaya.