Saya telah menginstal OpenSSH 7.6 di Windows 7 untuk tujuan pengujian. SSH client & server berfungsi dengan baik sampai saya mencoba mengakses salah satu kotak AWS EC2 saya dari windows ini.
Sepertinya saya perlu mengubah izin pada file kunci pribadi. Hal ini dapat dengan mudah dilakukan pada unix / linux dengan chmod
perintah.
Bagaimana dengan windows?
private-key.ppm disalin langsung dari AWS dan saya kira izinnya juga.
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh [email protected] -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
[email protected]: Permission denied (publickey).
C:\>
C:\>
C:\>ssh [email protected] -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
[email protected]: Permission denied (publickey).
C:\>
windows-7
ssh
permissions
Sabrina
sumber
sumber
Jawaban:
Anda menemukan file di Windows Explorer, klik kanan padanya lalu pilih "Properties". Arahkan ke tab "Security" dan klik "Advanced".
Ubah pemiliknya untuk Anda, nonaktifkan pewarisan dan hapus semua izin. Kemudian berikan diri Anda "Kontrol penuh" dan simpan izin. Sekarang SSH tidak akan mengeluh tentang izin file yang terlalu terbuka lagi.
Seharusnya terlihat seperti ini:
sumber
10.0.17134.191
) saya w / Cygwin verCYGWIN_NT-10.0-WOW 2.3.1(0.291/5/3) 2015-11-14 12:42
dan ssh verOpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4
, dan 2) Terima kasih! @ iBug!Kunci hanya dapat diakses oleh pengguna yang dimaksudkan untuknya dan tidak ada akun, layanan, atau grup lain.
CLI:
sumber
network service
Cygwin sehingga menurut saya izinnya adalah 0770, bukan 0700.network service
dapat memiliki file dan itu adalah grupSelain jawaban yang diberikan oleh ibug. Karena saya menggunakan sistem ubuntu di dalam windows untuk menjalankan perintah ssh. Itu masih tidak berfungsi. Jadi saya lakukan
dan kemudian berhasil
sumber
sudo
tidak boleh digunakan untuk membuka sesi SSH karena ini merupakan risiko keamanan. Satu-satunya waktu (setidaknya yang saya tahu) akun root harus digunakan untuk membuka sesi SSH adalah pada sistem pengguna tunggal (yaitu biasanya ditemukan pada router OS [OpenWrt, DD-WRT, dll.] Dan sistem tertanam lainnya ) . Kunci SSH harus dapat diakses hanya untuk pengguna dan bukan untuk akun, layanan, atau grup lain.Saya memiliki masalah yang sama, dan tampaknya terkait dengan versi SSH yang Anda jalankan.
Jika saya mengetik
Saya mendapat...
Ketika saya berlari
ssh -V
di kedua lokasi, saya mengerti... masing-masing
Jadi, ketika saya menjalankan
ssh
dari direktori git / bin, ia berfungsi dengan baik dan tidak mengeluh tentang izin, tetapi menjalankan baris perintah yang sama, menggunakan bekas instalasi SSH, ia kembali dengan ini.ps. izin pada file tersebut hanya akses penuh untuk saya sendiri, dan tidak ada yang lain.
sumber
DISM
atau menggunakan opsi Reset (yang telah ditingkatkan untuk menggunakan direktori WinSxS versus kembali ke aslinyainstall.esd
) .Anda perlu hanya 2 hal:
1) Nonaktifkan warisan
2) Konversi izin yang diwarisi menjadi izin eksplisit
3) Hapus grup Pengguna
4) Anda akan berakhir tanpa Pengguna dapat mengakses file pribadi, ini sudah cukup untuk menambahkan id_rsa.
sumber
Saya memiliki masalah serupa tetapi saya sedang bekerja dan tidak memiliki kemampuan untuk mengubah izin file di komputer kerja saya. Yang perlu Anda lakukan adalah menginstal WSL kemudian menyalin kunci Anda ke direktori ssh tersembunyi di WSL:
cp <path to your key> ~/.ssh/<name of your key>
Sekarang Anda harus dapat memodifikasi izin secara normal.
sudo chmod 600 ~/.ssh/<your key's name>
Kemudian ssh menggunakan WSL:
ssh -i ~/.ssh/<name of your key> <username>@<ip address>
sumber
gunakan perintah di bawah ini pada kunci Anda ini berfungsi pada windows
sumber
Anda dapat menggunakan icacls di windows daripada chmod untuk menyesuaikan izin file. Untuk memberi izin kepada pengguna saat ini dan menghapus yang lainnya,
sumber
Ini hanya versi skrip dari jawaban CLI @ JW0914, jadi jawab dia terlebih dahulu dan terutama. Juga, ini adalah skrip PowerShell pertama saya, jadi sarannya disambut.
sumber
Satu baris dalam CMD dapat melakukan trik (seperti dijelaskan di sini: https://serverfault.com/a/883338/550334 ), yaitu menambahkan kunci dari stdin alih-alih mengubah permissons:
Untuk memeriksa apakah kunci telah ditambahkan:
sumber
Gunakan
Mingw-w64
.Info: http://mingw-w64.org/doku.php
Unduh dengan Git untuk Windows, atau langsung.
Tersedia disini: https://github.com/mirror/mingw-w64
Ini juga memiliki perintah Linux berguna lainnya seperti
tar
dangzip
.sumber
Saya pengguna Window, menggunakan bash Windows dan mengikuti semua langkah untuk mengatur izin menggunakan Windows GUI, dan masih tidak berfungsi dan mengeluh:
Saya menambahkan
sudo
di bagian depan perintah ssh dan hanya berfungsi. Semoga ini bermanfaat bagi orang lain.sumber
Jawaban oleh iBug berfungsi dengan baik! Anda dapat mengikuti itu dan menyingkirkan masalah ini.
Tetapi ada beberapa hal yang perlu dibersihkan karena saya menghadapi masalah selama mengatur izin dan butuh beberapa menit bagi saya untuk mencari tahu masalahnya!
Mengikuti jawaban iBug, Anda akan menghapus semua izin tetapi bagaimana Anda menetapkan izin Kontrol Penuh untuk diri sendiri? di situlah saya terjebak pada awalnya karena saya tidak tahu bagaimana melakukannya.
Setelah Menonaktifkan Warisan, Anda akan dapat menghapus semua pengguna atau grup yang diizinkan.
Setelah selesai dengan itu,
Klik pada
Add
lalu klik padaSet a Principal
kemudian masukSystem
danAdministrators
danyour email addredd
di bidang di bawah lalu klikcheck names
.Itu akan memuat nama jika pengguna ada. Kemudian, Klik pada
OK
> TipeAllow
> Permisison DasarFull Control
>Okay
Ini akan mengatur izin Kontrol Penuh untuk SISTEM, Administrator dan Pengguna Anda.
Setelah itu coba ssh menggunakan kunci itu. Itu harus diselesaikan sekarang.
Saya memiliki masalah yang sama dan saya menyelesaikannya dengan menggunakan metode ini. Jika ada pengguna atau grup dengan nama itu maka itu akan memuatnya.
-Screenshots-
Entri Izin Pilih Pengguna Utama / Pilih atau Grup
sumber