GNU/Linux >> Belajar Linux >  >> Linux

Terhubung ke server dengan menggunakan SSH di Linux atau Mac OS X

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:

  1. 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 .

  2. 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]
    
  3. 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:

  1. Masuk ke Panel Kontrol Cloud.

  2. Di bilah navigasi atas, klik Pilih Produk> Rackspace Cloud .

  3. Pilih Server> Kunci SSH .

  4. Klik Tambahkan Kunci Publik .

  5. Masukkan nama kunci, seperti Laptop Kerja , untuk mengingatkan Anda untuk komputer mana kunci ini.

  6. 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.

  7. 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
    
  8. 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.

  1. Di Buat Server halaman, luaskan Opsi Lanjutan bagian.

  2. Dari Kunci SSH menu, pilih kunci Anda dari daftar.

  3. 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:

  1. Di server cloud Anda, buat direktori bernama .ssh di homefolder pengguna yang Anda hubungkan dengan menggunakan SSH.

    mkdir -p ~/.ssh
    
  2. 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.

  3. Setel izin yang benar pada kunci dengan menggunakan perintah berikut:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  4. 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.

  1. 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).
  2. 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 menyetel PasswordAuthentication untuk yes . 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.


Linux
  1. Bagaimana Cara Ssh Ke Server Menggunakan Server Lain??

  2. Memulai SSH di Linux

  3. Bagaimana cara mereset kata sandi Admin Plesk menggunakan SSH di Server Linux?

  1. Bagaimana Cara Membuat Kunci SSH di Server Khusus Linux ?

  2. SSH tanpa kata sandi menggunakan pasangan kunci publik-swasta

  3. Cara SSH di Linux dari Android

  1. Hubungkan ke Linux dari Mac OS X dengan menggunakan Terminal

  2. Terhubung ke Linux dari Windows dengan menggunakan Putty

  3. Pengikatan kunci yang efisien menggunakan Mac dan Linux