Sekarang saya harap Anda telah menginstal Terminal Windows. Jika tidak, lakukan itu, saya akan menunggu. Saatnya.
Anda mungkin juga telah menyesuaikan pengaturan Anda. Jika Anda mencoba terminal beberapa versi yang lalu dan belum masuk kembali, ini juga saatnya untuk membiarkan Terminal Windows menghasilkan Anda profiles.json baru yang bagus (file pengaturan). Tidak apa-apa untuk menghilangkan/menghapus milik Anda. Terminal Windows akan membuat ulang saat berikutnya dimulai.
Saya memiliki beberapa hal di dropdown Terminal saya. Ini terlihat seperti ini.
Namun, saya ingin dapat memiliki profil yang ssh ke mesin Linux yang saya gunakan secara teratur. Mungkin mesin remote itu bisa punya item menu kerennya sendiri? Mari kita lihat seperti apa bentuknya dan bagaimana kita melakukannya.
Menambahkan Profil Baru ke Terminal Windows
Klik panah bawah di bilah tab atas Terminal Windows. Perhatikan bahwa ada banyak sekali pengaturan yang bagus dan berguna, jadi jelajahi Skema Pengaturan, dan ketika Anda mengedit pengaturan, pastikan bahwa Visual Studio Code disetel sebagai pengendali default Anda untuk file .json. Itu penting karena profil pengaturan Terminal Windows.json menyertakan Skema JSON dan Anda ingin pengaturan Anda memiliki pelengkapan otomatis/intellisense. Ini akan memudahkan untuk membuat dan menemukan setelan baru.
Saya akan menambahkan profil ke array "profil". Untuk memulai, dan untuk belajar, mari tambahkan profil sesederhana mungkin! Saya hanya menambahkan {} sebagai item array di profil yang lebih besar [] dan memberinya nama.
"profiles": [
{
"name": "This is a name"
},
Ini akan membuat item menu baru di Terminal Windows dengan nama yang sama. Itu tidak akan memiliki ikon dan akan meluncurkan cmd.exe sebagai shell default karena saya tidak mengatur baris perintah lain! Jika saya menambahkannya di item teratas (sebagai yang pertama) dalam array profil, item itu juga akan muncul pertama kali di menu dan memiliki tombol pintas Ctrl+Shift+1.
Ini lumpuh, jadi mari kita tambahkan lagi. Saya akan menambahkan tabTitle
dan commandline
.
{
"name": "This is a name",
"tabTitle": "This is a tab title",
"commandline": "powershell"
},
Item menu ini akan muncul sebagai "Ini adalah nama" di menu, tetapi tab tersebut akan disebut "Ini adalah judul tab". Ini akan meluncurkan PowerShell. Perhatikan bahwa saya tidak menyertakan .exe meskipun saya bisa. Saya ingin memastikan Anda jelas bahwa Terminal Windows pada dasarnya hanya disebut Process.Start sehingga Anda dapat mengatur tab profil untuk memanggil apa pun di PATH, atau Anda bisa eksplisit. Saya juga bisa menambahkan "startingDirectory
" dan banyak opsi lainnya.
Karena saya bisa memanggil apa saja di PATH, apa lagi yang bisa saya lakukan?
Menggunakan OpenSSH di Windows
Anda mungkin belum pernah mendengar tetapi OpenSSH telah dikirimkan di Windows selama beberapa tahun sekarang. Itu berarti bahwa banyak utilitas yang Anda mungkin telah menginstal Putty untuk sudah tersedia di Windows. Anda dapat membuka admin PowerShell dan menjalankan satu perintah untuk memastikan aplikasi klien OpenSSH ada di sana:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Ini menginstal klien, tetapi ada server opsional juga jika Anda mau.
Saya akan fokus hanya pada klien. Lewati ke area berikutnya jika Anda ingin melakukan SSH dari Linux, bukan Windows.
Inilah yang diinstal di c:\windows\System32\OpenSSH
Di sini kita punya sftp, scp, dan yang paling penting, ssh.exe dan ssh-agent. Karena ssh ada di PATH saat diinstal dengan Windows, saya dapat mengubah profil Terminal Windows saya agar terlihat seperti ini dan masuk ke Raspberry Pi 4 saya.
{
"name": "ssh hanselPi4",
"tabTitle": "HanselPi4",
"commandline": "ssh pi@hanselpi4"
},
Perhatikan dalam tangkapan layar ini saya memiliki koneksi ssh yang terdaftar di bagian atas, dan ketika saya mengkliknya, itu membuka ssh.exe dan meminta saya untuk memasukkan kata sandi. Saya tidak memiliki kunci ssh di sistem saya yang akan mengaktifkan login otomatis, oleh karena itu kata sandi diperlukan.
Secara otomatis SSH'ing/masuk ke mesin Linux dari profil Terminal Windows
Sekarang ini penting, jadi perhatikan. Jika Anda sudah memiliki WSL atau WSL di mesin Anda, Anda tentu saja dapat menggunakan kunci dan utilitas SSH yang disertakan dalam distro Linux pilihan Anda.
Dalam hal ini, baris perintah Anda di profil Terminal Windows Anda akan menjadi seperti:
wsl ssh pi@hanselpi4
atau jika Anda menginginkan distro tertentu, Anda dapat meluncurkan distro dan ssh dari sana.
wsl -d Ubuntu-18.04 ssh pi@hanselpi4
Jika Anda tahu Linux, maka Anda sudah familiar dengan cara mengatur kunci publik Anda untuk mengizinkan ini. Namun, kebanyakan orang berpikir Anda memerlukan Putty atau alat pihak ketiga untuk melakukan ini di Windows, jadi saya akan fokus pada cara melakukannya di sini.
Saya ingin dapat mengetik "ssh pi@hanselpi4" dari mesin Windows saya dan secara otomatis masuk. Lebih khusus lagi, saya ingin mengklik profil dan membuatnya Just Work.
aku akan
- Buat kunci di mesin Window saya. Mesin FROM, dalam hal ini, Windows. Lalu saya ingin ssh DARI sini KE mesin Linux jarak jauh.
- Beri tahu mesin Linux (dengan mentransfernya) tentang bagian publik dari kunci saya dan tambahkan ke kunci_pengguna tertentu.
Saya akan menjalankan ssh-keygen untuk membuat kunci dari baris perintah saya di Windows. Saya baru saja menekan enter untuk menghasilkannya tetapi Anda dapat membuat nama file Anda sendiri jika Anda mau, cukup gunakan path lengkap dan pastikan Anda melacak di mana semuanya berada. Default biasanya yang terbaik.
>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\scott/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in hanselpi4.
Your public key has been saved in hanselpi4.pub.
Ingat pathnya adalah c:\users\yourname karena itu setara dengan Windows dari folder ~ home dan kuncinya ada di c:\users\yourname\.ssh.
Sekarang saya ingin mentransfer apa yang ada di id_rsa.pub ke Raspberry Pi saya. Anda dapat scp (salinan aman) jika Anda mau, tetapi yang terbaik adalah menambahkan kunci ke file Authorized_keys pada mesin tujuan.
CATATAN:Saya sedang mengetik (cat di Linux adalah mengetik di Windows) file teks itu keluar dan menyalurkannya ke SSH tempat saya masuk ke mesin jarak jauh itu dengan pengguna pi dan saya kemudian cat (di sisi Linux sekarang) dan menambahkan>> teks itu ke folder .ssh/authorized_keys. Folder ~ tersirat tetapi dapat ditambahkan jika Anda suka.
Jalankan perintah ini sekali di Windows untuk mengeluarkan kunci Anda dan menyalurkannya ke, dan menambahkan ke, file yang tepat di mesin Linux jarak jauh Anda. Anda akan dimintai sandi satu kali.
type c:\users\scott\.ssh\id_rsa.pub | ssh pi@hanselpi4 'cat >> .ssh/authorized_keys'
Pastikan Anda memahami apa yang terjadi pada baris di atas.
Menambahkan Ikon profil - raspberry di atas
Pada titik ini saya dapat mengklik item menu di Terminal Windows dan secara otomatis masuk/masuk ke terminal jarak jauh. Tapi, yang memalukan, item menu Terminal tidak memiliki ikon. Ini jelas tidak dapat diterima M$sft menyebalkan, bukan? Saya akan mendapatkan Ikon Raspberry Pi 32x32 yang bagus dan meletakkannya di suatu tempat. Anda dapat meletakkan milik Anda di Dropbox atau OneDrive sehingga tersedia ke mana pun Anda pergi.
Sekarang profil saya terlihat seperti ini:
"profiles": [
{
"name": "ssh hanselPi4",
"tabTitle": "HanselPi4",
"commandline": "ssh pi@hanselpi4",
"icon": "c:/users/scott/downloads/icons8-raspberry-pi-32.png"
},
Betapa indahnya ini?
Terlihat bagus, memiliki judul dan ikon yang bagus, dan saya dapat menggunakan hotkey untuk secara otomatis SSH ke mesin jarak jauh saya.
Satu catatan terakhir, Anda sudah mendapatkan Azure Cloud Shell di Terminal Windows (Anda bisa mendapatkannya secara gratis di http://shell.azure.com di browser Anda dan mengakses wadah Linux gratis di mana saja kapan saja dengan drive cloud yang persisten ) tetapi sekarang Anda dapat mengikuti petunjuk di pos ini dan menyiapkan SSH sekali klik ke mana saja.
Semoga bermanfaat!
Sponsor: Sponsor minggu ini adalah...aku! Blog ini dan podcast saya telah menjadi karya cinta selama lebih dari 18 tahun. Sponsor Anda membayar tagihan hosting saya untuk keduanya DAN memungkinkan saya membeli gadget untuk ditinjau DAN taco sesekali. Bergabunglah dengan saya!