Artikel ini memberikan langkah-langkah untuk menyambung ke server cloud dari komputer yang menjalankan Linux® atau MacOS® X dengan menggunakan Secure Shell (SSH). Artikel ini juga membahas cara membuat kunci SSH dan menambahkan kunci publik ke server.
Pengantar
SSH adalah protokol di mana Anda dapat mengakses server cloud dan perintah runshell. Anda dapat menggunakan kunci SSH untuk mengidentifikasi komputer tepercaya tanpa memerlukan kata sandi dan untuk berinteraksi dengan server Anda.
SSH dienkripsi dengan Secure Sockets Layer (SSL), yang mempersulit komunikasi ini untuk dicegat dan dibaca.
Catatan: Banyak perintah dalam artikel ini harus dijalankan di komputer lokal Anda. Perintah default yang tercantum adalah untuk baris perintah Linux atau Terminal MacOS X. Untuk membuat koneksi SSH dari Windows®, Anda dapat menggunakan klien yang mirip dengan program gratis, PuTTY. Untuk membuat kunci, Anda dapat menggunakan program terkait, PuTTYGen.
Masuk
Menggunakan alamat Protokol Internet (IP) dan kata sandi untuk server cloud Anda, masuk dengan menjalankan ssh
berikut perintah dengan username@ipaddress
sebagai argumen:
ssh [email protected]
Sistem meminta Anda memasukkan sandi untuk akun yang Anda hubungkan.
Identifikasi host jarak jauh
Jika Anda membuat ulang server cloud, Anda mungkin mendapatkan pesan berikut:
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Salah satu fitur keamanan SSH adalah ketika Anda masuk ke server cloud, host jarak jauh memiliki kunci sendiri yang mengidentifikasinya. Saat Anda mencoba terhubung, klien SSH Anda memeriksa kunci server terhadap kunci apa pun yang telah disimpannya dari koneksi sebelumnya ke alamat IP tersebut. Setelah Anda membangun kembali server cloud, kunci host jarak jauh itu berubah, sehingga komputer Anda memperingatkan Anda tentang kemungkinan aktivitas yang mencurigakan.
Untuk memastikan keamanan server Anda, Anda dapat menggunakan konsol web di Cloud Control Panel untuk memverifikasi kunci baru server Anda. Jika Anda yakin bahwa Anda tidak dipalsukan, Anda dapat melewati langkah itu dan menghapus catatan SSH lama kunci host sebagai berikut:
Di lokal . Anda komputer, edit SSH known_hosts
file dan hapus semua baris yang dimulai dengan alamat IP server cloud Anda.
Catatan: Gunakan editor pilihan Anda, seperti nano
pada sistem operasi Debian atau Ubuntu atau vi
pada server RPM atau CENTOS. Untuk mempermudah, artikel ini hanya menggunakan nano
. Jika Anda lebih suka menggunakan vi
,ganti vi
untuk nano
di perintah edit. Untuk lebih lanjut tentang menggunakan nano
, lihat/support/how-to/modify-your-hosts-file/.
nano ~/.ssh/known_hosts
Jika Anda tidak menggunakan Linux atau MacOS X di komputer lokal Anda, lokasi known_hosts berkas mungkin berbeda. Lihat OS Anda untuk informasi tentang lokasi file. Putty di Windows memberi Anda pilihan untuk mengganti kunci host yang disimpan.
Buat pasangan kunci SSH baru
Anda dapat mengamankan akses SSH ke server cloud Anda dari serangan brute forcepassword dengan menggunakan pasangan kunci publik-swasta. Kunci publik ditempatkan di server dan kunci pribadi yang cocok ditempatkan di komputer lokal Anda. Jika Anda mengonfigurasi SSH di server Anda untuk hanya menerima koneksi menggunakan kunci, maka tidak ada yang bisa masuk hanya dengan menggunakan kata sandi. Menghubungkan klien diharuskan menggunakan kunci pribadi yang memiliki kunci publik yang terdaftar di server. Untuk informasi lebih lanjut tentang keamanan, tinjau praktik terbaik keamanan server Linux.
Gunakan langkah-langkah berikut untuk menghasilkan pasangan kunci SSH:
-
Jalankan perintah berikut menggunakan alamat email Anda sebagai label. Ganti alamat email Anda dengan
[email protected]
dalam perintah.ssh-keygen -t rsa -C "[email protected]"
Sebuah pesan menunjukkan bahwa pasangan kunci RSA publik-swasta Anda sedang dibuat.
Saat diminta, tekan Enter untuk menggunakan lokasi default atau file entera untuk menyimpan kunci dan tekan Enter .
-
Jika Anda menginginkan keamanan tambahan kata sandi untuk pasangan kunci, masukkan frasa sandi dan tekan Enter . Jika Anda tidak ingin menggunakan sandi dengan pasangan kunci, tekan Enter untuk melanjutkan tanpa menyetelnya.
Pasangan kunci Anda dibuat, dan hasilnya terlihat mirip dengan contoh berikut:
Your identification has been saved in /LocalFileLocation/id_rsa. Your public key has been saved in /LocalFileLocation/id_rsa.pub. The key fingerprint is: 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
-
Secara opsional, tambahkan kunci baru Anda ke ssh-agent lokal file ke enableSSH untuk menemukan kunci Anda tanpa perlu menentukan lokasinya setiap kali Anda terhubung:
ssh-add ~/.ssh/id_rsa
Anda dapat menggunakan pintasan konfigurasi SSH alih-alih ssh-agent file dengan mengikuti petunjuk di Konfigurasi pintasan sectionlater dalam artikel ini.
Tambahkan kunci publik ke akun cloud Anda
Untuk memudahkan Anda menambahkan kunci ke server cloud baru yang Anda buat, unggah kunci publik ke akun cloud Anda dengan mengikuti langkah-langkah berikut:
-
Masuk ke Panel Kontrol Cloud.
-
Di bilah navigasi atas, klik Pilih Produk> Rackspace Cloud .
-
Pilih Server> Kunci SSH .
-
Klik Tambahkan Kunci Publik .
-
Masukkan nama kunci, seperti Laptop Kerja , untuk mengingatkan Anda untuk komputer mana kunci ini.
-
Pilih wilayah tempat Anda ingin menyimpan kunci publik. Untuk menyimpan kunci Anda di beberapa wilayah, ulangi langkah-langkah ini untuk setiap wilayah. Kunci harus berada di wilayah yang sama dengan server.
-
Tempelkan konten id_rsa.pub file yang Anda buat ke dalam Kunci Publik bidang. Anda bisa mendapatkan konten file dengan membuka file di editor teks atau dengan menjalankan perintah berikut:
cat ~/.ssh/id_rsa.pub
-
Klik Tambahkan Kunci Publik .
Jika Anda ingin menambahkan kunci secara manual, daripada menggunakan Control Panel, tinjau praktik terbaik keamanan server Linux dan gunakan perintah berikut:
ssh-copy-id -i ~/.ssh/id_rsa.pub {username}@{remotePublicIPAddress}
Buat server baru dengan menggunakan kunci yang disimpan
Saat membuat server cloud baru, Anda dapat menambahkan kunci tersimpan ke server baru.
-
Di Buat Server halaman, luaskan Opsi Lanjutan bagian.
-
Dari Kunci SSH menu, pilih kunci Anda dari daftar.
-
Jika Anda tidak melihat kunci tersimpan dalam daftar, Anda dapat melakukan salah satu tindakan berikut:
- Ganti wilayah untuk server baru ke wilayah tempat Anda menyimpan kunci SSH.
- Ulangi langkah-langkah di bagian sebelumnya, Tambahkan kunci publik ke akun cloud Anda , untuk menambahkan kunci ke wilayah tempat Anda ingin membuat server baru.
Tambahkan kunci ke server yang ada
Anda tidak dapat menggunakan Cloud Control Panel untuk menambahkan kunci publik ke server yang sudah ada. Ikuti langkah-langkah ini untuk menambahkan kunci secara manual:
-
Di server cloud Anda, buat direktori bernama .ssh di homefolder pengguna yang Anda hubungkan dengan menggunakan SSH.
mkdir -p ~/.ssh
-
Buat atau edit authorized_keys file dan tambahkan kunci publik Anda ke daftar kunci resmi dengan menggunakan perintah berikut:
nano ~/.ssh/authorized_keys
Semua kunci ada dalam satu baris, jadi pastikan kunci tidak terputus oleh jeda baris. Anda dapat memiliki beberapa kunci di authorized_keys file, dengan satu kunci per baris.
-
Setel izin yang benar pada kunci dengan menggunakan perintah berikut:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
-
Jika Anda memiliki masalah dan perlu memperbaiki masalah izin, jalankan perintah berikut:
restorecon -R -v /root/.ssh
Setelah Anda menambahkan kunci publik ke authorized_keys , Anda dapat membuat koneksi SSH dengan menggunakan pasangan kunci Anda alih-alih kata sandi akun.
Konfigurasi pintasan
Gunakan petunjuk berikut untuk menyiapkan pintasan koneksi dengan membuat~/.ssh/config file di komputer lokal Anda dan tambahkan server dan detail kunci Anda ke dalamnya.
-
Menggunakan editor teks, tambahkan teks berikut ke ~/.ssh/config file, mengubah nilai agar sesuai dengan informasi server Anda:
Host shortcutName HostName serverAddressOrIPAddress User remoteUsername IdentityFile /path/to/appropriate/ssh/rsa/private/key
Setiap entri berikut menjelaskan fitur server:
- Tuan rumah: Nama pintasan yang Anda gunakan untuk memberi tahu SSH agar menggunakan koneksi ini.
- Nama Inang: Alamat server yang Anda hubungkan.
- Pengguna: Nama akun pengguna untuk terhubung ke server.
- File Identitas: Lokasi file kunci pribadi (id_rsa).
-
Setelah Anda menyiapkan config file, sambungkan ke server dengan menggunakan perintah berikut dengan nama pintasan Anda:
ssh shortcutName
Pemecahan masalah
Jika Anda mengalami masalah saat membuat sambungan baru setelah memulai ulang server, gunakan langkah-langkah berikut untuk membantu Anda menyelesaikan masalah:
-
Cara terbaik untuk memecahkan masalah login SSH atau SFTP adalah mencoba login melalui SSH saat login ke Konsol Darurat dan melihat log, yang biasanya menyertakan alasan kegagalan. Jika tidak ada alasan yang diberikan, itu bisa menjadi masalah firewall. Untuk server RPM, jalankan perintah berikut untuk melihat log:
tail -f /var/log/secure
Untuk server Debian, jalankan perintah berikut untuk melihat log:
tail -f /var/log/auth.log
-
Jika Anda mendapatkan
connection timeout
kesalahan, periksa alamat IP yang Anda gunakan untuk memastikan bahwa itu benar. Anda juga dapat memeriksa iptables server untuk memastikan bahwa itu tidak memblokir port yang digunakan oleh SSH. -
Jika Anda mendapatkan
connection refused
kesalahan, Anda mungkin mencoba menggunakan SSH dengan port yang salah. Jika Anda mengubah server Anda untuk mendengarkan port selain 22, gunakan-p
opsi dengan SSH untuk menentukan port. -
Jika login Anda ditolak, maka Anda mungkin memiliki masalah dengan kunci Anda. Ubah
sshd
konfigurasi untuk mengizinkan koneksi kata sandi dengan menyetelPasswordAuthentication
untukyes
. Mulai ulang server dan coba lagi. Jika Anda terhubung setelah perubahan ini, maka masalahnya ada pada kunci dan Anda harus memverifikasi bahwa kunci berada di tempat yang tepat di server. -
Jika semuanya gagal, tinjau perubahan Anda dan mulai ulang daemon SSH di server dengan menjalankan perintah berikut:
sudo service ssh restart
Jika Anda mendapatkan pesan bahwa layanan SSH tidak dikenal, jalankan perintah dengan
sshd
sebagai nama layanan.