le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Nome del servizio: sshd
Programma principale del server: /usr/sbin/sshd
File di configurazione del server: /etc/ssh/sshd config
Client SSH: Putty, Xshell, CRT, MobaXterm, FinalShell
Server SSH: OpenSSH
Server SSH: per impostazione predefinita viene utilizzata la porta TCP 22 e la versione del protocollo di sicurezza è sshv2. Oltre a 2, ce n'è anche 1 (con scappatoie).
Il server ssh comprende principalmente due funzioni di servizio: collegamento remoto ssh e servizio sftp.
Funzione: il servizio SSHD utilizza il protocollo SSH per eseguire il controllo remoto o trasferire file tra computer.
Rispetto all'utilizzo precedente di Telnet per trasferire file, è molto più sicuro perché Telnet utilizza la trasmissione di testo in chiaro mentre SSH utilizza la trasmissione crittografata.
OpenSSH è un progetto software open source che implementa il protocollo SSH ed è adatto a vari sistemi operativi UNIX e Linux. Il sistema Centos 7 dispone di pacchetti software relativi a openssh installati per impostazione predefinita e il servizio sshd viene aggiunto per l'avvio automatico all'avvio.
[Tuttavia, la versione 7 presenta problemi e vulnerabilità e deve essere aggiornata. L'ultima versione è attualmente la 9.8]
Visualizza versione:comando ssh -V
Esegui il comando "systemctl start sshd" per avviare il servizio sshd
Sia ssh_config che sshd_config sono file di configurazione per il server ssh. La differenza tra i due è che il primo è un file di configurazione per il client e il secondo è un file di configurazione per il server.
SSH viene utilizzato fondamentalmente per gestire in remoto i sistemi Linux. Il motivo è molto semplice: metodi di trasmissione come Telnet e FTP trasmettono le informazioni di autenticazione dell'utente in testo non crittografato, il che è intrinsecamente pericoloso e comporta il rischio di intercettazioni della rete. SSH (Secure Shell) è attualmente più affidabile.
È un protocollo progettato per fornire sicurezza per sessioni di accesso remoto e altri servizi di rete. L'uso del protocollo SSH può prevenire efficacemente la fuga di informazioni durante la gestione remota. Tutti i dati trasmessi possono essere crittografati tramite SSH e si possono anche prevenire lo spoofing DNS e lo spoofing IP.
1.3.1. Metodo di accesso uno
ssh [nome utente host remoto] @[nome host o indirizzo IP del server remoto] -p porta
Se vuoi usare il nome utentelisi
L'identità connessa all'indirizzo IP è192.168.1.100
server e il servizio SSH del server viene eseguito sulla porta22
, dovresti usare il seguente comando:
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。
allegato
mappatura dell'host
1.3.2 Metodo di accesso due
ssh -l [nome utente host remoto] [nome host o indirizzo IP del server remoto] -p porta
-l: opzione -l, specifica il nome di accesso.
-p: opzione -p, specifica la porta di accesso (quando la porta del server non è quella predefinita, è necessario utilizzare -p per specificare la porta per accedere)
(non molto utilizzato)
Interrogazione sulla chiave pubblica
Interrogazione sul cliente
Il server interroga la propria chiave pubblica
Nota: il sistema non salva le informazioni dell'host remoto quando si accede al server per la prima volta. Per confermare l'identità dell'host, all'utente verrà chiesto se continuare la connessione. Immettere sì e quindi accedere in. A questo punto, il sistema scriverà le informazioni sul server remoto in $HOME nella directory home dell'utente, la prossima volta che accedi, poiché le informazioni sull'host vengono salvate, non ti verranno richieste nuovamente. .
OpenSSH controllerà la chiave pubblica la prossima volta che accederai allo stesso computer. Se le chiavi pubbliche sono diverse, OpenSSH emetterà un avviso per proteggerti da attacchi come il DNS Hijack.
Soluzione
1. Quando si accede all'host remoto tramite ssh, aggiungere l'opzione "-o StrictHostKeyChecking=no", come segue:
ssh -o StrictHostKeyChecking=no 192.168.xxx.xxx
2. Un modo per rimuovere completamente questo messaggio è modificare la configurazione nel file /etc/ssh/ssh_config (o $HOME/.ssh/config) e aggiungere le seguenti due righe di configurazione:
Controllo StrictHostKey no
File host noti utente /dev/null
Ma è meglio non aggiungere
Server di configurazione generale
vim /etc/ssh/sshd_config
La porta deve essere cambiata per evitare che altri la rompano violentemente.
ListenAddress imposta l'indirizzo IP associato al server SSHD, 0.0.0.0 significa ascoltare tutti gli indirizzi
Suggerimento per la sicurezza: se l'host non necessita dell'accesso SSH dalla rete pubblica, è possibile modificare l'indirizzo di ascolto con l'indirizzo della rete interna. Questo valore può essere scritto come indirizzo IP locale o tutti gli indirizzi, ovvero 0.0.0.0 rappresenta tutti IP.
Quando qualcuno accede al sistema utilizzando SSH, SSH registrerà le informazioni. Il tipo di informazioni da registrare è AUTHPRIV. Il registro del servizio sshd è archiviato in: /var/log/secure.
In generale, per determinare se l'origine del client è normale e legittima, verrà utilizzato il DNS per verificare il nome host del client. Tuttavia, di solito durante l'interconnessione all'interno della intranet, questa base è impostata su no, quindi la velocità di connessione lo farà essere più veloce.
Nota: disabilitare la risoluzione inversa DNS per migliorare la velocità di risposta del server
Oltre ad alcune configurazioni di sicurezza e ottimizzazione della sicurezza
PermettiRootLogin Se consentire l'accesso root, l'impostazione predefinita è consentita, ma si consiglia di impostarla su no.Un server dell'ambiente di produzione reale non consente all'account root di accedere direttamente., solo gli utenti ordinari possono accedere. È necessario utilizzare l'utente root e quindi passare all'utente root.
Autenticazione tramite password SÌ
Ovviamente è richiesta la verifica della password, quindi puoi scrivere sì qui oppure impostarla su no. Sui server di produzione reali, in base ai diversi requisiti del livello di sicurezza, alcune impostazioni non richiedono l'accesso tramite password ed è possibile accedere tramite l'autenticazione chiave.
PermettiPasswordVuote NO
Indica se consentire l'accesso agli utenti con password vuote. L'impostazione predefinita è no. L'accesso con password vuote non è consentito.
PrintLastLog sì
Visualizza le informazioni dell'ultimo accesso! L'impostazione predefinita è sì
MaxAuthTries 6
Specifica il numero massimo di autenticazioni consentite per connessione. Il valore predefinito è 6.
Se il numero di autenticazioni non riuscite supera la metà di questo valore, la connessione verrà interrotta forzatamente e verranno generati ulteriori messaggi di registro degli errori.
Predefinito 3 volte
Abilita il modulo pam
Commento
Lista in bianco e nero
ConsentiUtenti
Quando desideri consentire o vietare l'accesso solo a determinati utenti, puoi utilizzare la configurazione ConsentiUsers o DenyUsers. L'utilizzo dei due è simile (fai attenzione a non utilizzarli contemporaneamente).
ConfiguraAllowUsers
Ad esempio, se solo gli utenti zhangsan e wangwu possono accedere ad altri utenti (lisi).
aggiungere a
Consenti utenti [email protected] wangwu
Diviso in 3 fasi:
Il client genera la chiave (chiave pubblica e chiave privata) nel client Xshell;
Inserisci la chiave pubblica nel file ~/.ssh/authorized_key del server Linux;
Configurare il client ssh (client Xshell) per accedere utilizzando una chiave
1. Per prima cosa generare la chiave pubblica nello strumento xshell
Regola la lunghezza di 2048, basta fare il passaggio successivo, puoi impostare il nome e la password
Al termine della generazione, ci sarà una chiave pubblica, salvala
file che terminano con pub
Quindi apri la nostra macchina Linux
Passa alla directory ~/.shh (è necessario eseguire ssh per la prima volta senza password, altrimenti potrebbe non esserci alcun file .shh)
Carica la chiave pubblica
Naturalmente è necessario anche cambiarlo nel nome standard Authorized_Keys
Genera il backup della chiave privata
Accesso senza password
accesso riuscito
Preparare un trampolino di lancio
L'opzione "-t" del comando ssh-keygen viene utilizzata per specificare il tipo di algoritmo per generare chiavi pubbliche e private.
Copia ssh-id [email protected]
utilizzossh-copy-id
attrezzo: Questo gestirà automaticamente il processo di copia della chiave pubblica. Questo comando gestirà automaticamente la copia del tuoid_rsa.pub
Il contenuto della chiave pubblica viene aggiunto al server remoto~/.ssh/authorized_keys
nel fascicolo.
inserire la password: Poiché è la prima volta che ti connetti a un server remoto in questo modo, ti potrebbe essere chiesto di inserire la password dell'utente root remoto.
Accedi tramite Springboard 79 19
eseguire l'accesso [email protected]
Modifica autorizzazioni
vim /etc/ssh/sshd_config
Sulle linee 17, 43, 65
Riavvia il servizio sshd
riprova
Specificare porta, successo
Il contenuto viene migrato nelle risorse file
L'algoritmo di firma DSA è disabilitato per impostazione predefinita
Preparazione dei file
si apre il sito ufficialeOpenSSH: Note di rilascio
Poiché openssh9.8p1 richiede che la versione di openssl sia maggiore o uguale a 1.1.1, openssl deve essere aggiornato e installato.
Sito ufficialeRilascia OpenSSL 1.1.1v · openssl/openssl · GitHub