{"id":15917,"date":"2020-02-25T08:42:05","date_gmt":"2020-02-25T01:42:05","guid":{"rendered":"https:\/\/blog.tinohost.com\/?p=3132"},"modified":"2026-10-23T10:48:21","modified_gmt":"2026-10-23T03:48:21","slug":"ssh-la-gi","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/ssh-la-gi\/","title":{"rendered":"SSH l\u00e0 g\u00ec? C\u00e1ch d\u00f9ng l\u1ec7nh SSH k\u1ebft n\u1ed1i m\u00e1y ch\u1ee7"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>SSH (Secure Shell) l\u00e0 giao th\u1ee9c m\u1ea1ng cho ph\u00e9p \u0111\u0103ng nh\u1eadp v\u00e0 \u0111i\u1ec1u khi\u1ec3n m\u00e1y ch\u1ee7 t\u1eeb xa qua m\u1ed9t k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c m\u00e3 ho\u00e1.<\/strong> V\u1edbi SSH, b\u1ea1n g\u00f5 l\u1ec7nh tr\u00ean m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh v\u00e0 l\u1ec7nh ch\u1ea1y tr\u00ean m\u00e1y ch\u1ee7 \u1edf xa, nh\u01b0 \u0111ang ng\u1ed3i tr\u01b0\u1edbc m\u00e1y \u0111\u00f3. M\u1eadt kh\u1ea9u, l\u1ec7nh v\u00e0 k\u1ebft qu\u1ea3 \u0111\u1ec1u \u0111\u01b0\u1ee3c m\u00e3 ho\u00e1, n\u00ean ng\u01b0\u1eddi nghe l\u00e9n tr\u00ean \u0111\u01b0\u1eddng truy\u1ec1n kh\u00f4ng \u0111\u1ecdc \u0111\u01b0\u1ee3c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Theo <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc4251\" rel=\"nofollow noopener\" target=\"_blank\">RFC 4251<\/a>, SSH l\u00e0 &#8220;giao th\u1ee9c \u0111\u1ec3 \u0111\u0103ng nh\u1eadp t\u1eeb xa an to\u00e0n v\u00e0 c\u00e1c d\u1ecbch v\u1ee5 m\u1ea1ng an to\u00e0n kh\u00e1c&#8221;. SSH ra \u0111\u1eddi \u0111\u1ec3 thay th\u1ebf Telnet v\u00e0 rlogin, v\u1ed1n g\u1eedi c\u1ea3 m\u1eadt kh\u1ea9u d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n th\u01b0\u1eddng. Ng\u00e0y nay, SSH l\u00e0 c\u00e1ch ti\u00eau chu\u1ea9n \u0111\u1ec3 qu\u1ea3n tr\u1ecb VPS v\u00e0 m\u00e1y ch\u1ee7 Linux, chuy\u1ec3n file an to\u00e0n (SFTP, SCP) v\u00e0 \u0111\u1ea9y m\u00e3 ngu\u1ed3n l\u00ean Git.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u1ed5ng m\u1eb7c \u0111\u1ecbnh:<\/strong> TCP 22 (c\u00f3 th\u1ec3 \u0111\u1ed5i trong c\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7).<\/li>\n\n\n<li><strong>Ph\u1ea7n m\u1ec1m ph\u1ed5 bi\u1ebfn:<\/strong> OpenSSH (c\u00f3 s\u1eb5n tr\u00ean Linux, macOS; Windows 10\/11 c\u00f3 OpenSSH Client), PuTTY, Termius.<\/li>\n\n\n<li><strong>C\u00e1ch \u0111\u0103ng nh\u1eadp:<\/strong> m\u1eadt kh\u1ea9u ho\u1eb7c SSH key; n\u00ean d\u00f9ng SSH key lo\u1ea1i ed25519.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"SSH_ho\u1ea1t_\u0111\u1ed9ng_nh\u01b0_th\u1ebf_n\u00e0o?\">SSH ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SSH ho\u1ea1t \u0111\u1ed9ng theo m\u00f4 h\u00ecnh client \u2013 server. M\u00e1y ch\u1ee7 ch\u1ea1y d\u1ecbch v\u1ee5 <code>sshd<\/code> l\u1eafng nghe \u1edf c\u1ed5ng 22; m\u00e1y c\u1ee7a b\u1ea1n ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh client <code>ssh<\/code>. M\u1ed9t phi\u00ean SSH \u0111i qua b\u1ed1n b\u01b0\u1edbc: m\u1edf k\u1ebft n\u1ed1i TCP, x\u00e1c minh m\u00e1y ch\u1ee7 b\u1eb1ng host key, trao \u0111\u1ed5i kho\u00e1 \u0111\u1ec3 m\u00e3 ho\u00e1 phi\u00ean, v\u00e0 cu\u1ed1i c\u00f9ng x\u00e1c th\u1ef1c ng\u01b0\u1eddi d\u00f9ng b\u1eb1ng key ho\u1eb7c m\u1eadt kh\u1ea9u.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1400\" height=\"750\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/ssh-la-gi-cach-hoat-dong.webp\" alt=\"S\u01a1 \u0111\u1ed3 SSH ho\u1ea1t \u0111\u1ed9ng qua 4 b\u01b0\u1edbc: k\u1ebft n\u1ed1i TCP t\u1edbi c\u1ed5ng 22, x\u00e1c minh host key c\u1ee7a m\u00e1y ch\u1ee7, trao \u0111\u1ed5i kho\u00e1 \u0111\u1ec3 m\u00e3 ho\u00e1 phi\u00ean, x\u00e1c th\u1ef1c ng\u01b0\u1eddi d\u00f9ng b\u1eb1ng SSH key ho\u1eb7c m\u1eadt kh\u1ea9u\" class=\"wp-image-131188\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/ssh-la-gi-cach-hoat-dong.webp 1400w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/ssh-la-gi-cach-hoat-dong-300x161.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/ssh-la-gi-cach-hoat-dong-1024x549.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/ssh-la-gi-cach-hoat-dong-768x411.webp 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Khi k\u1ebft n\u1ed1i kh\u00f4ng th\u00e0nh, th\u00f4ng b\u00e1o c\u1ee7a <code>ssh<\/code> cho bi\u1ebft phi\u00ean d\u1eebng \u1edf b\u01b0\u1edbc n\u00e0o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kh\u00f4ng t\u1edbi \u0111\u01b0\u1ee3c m\u00e1y ch\u1ee7:<\/strong> <code>Connection timed out<\/code> th\u01b0\u1eddng do sai IP ho\u1eb7c t\u01b0\u1eddng l\u1eeda ch\u1eb7n; <code>Connection refused<\/code> ngh\u0129a l\u00e0 m\u00e1y ch\u1ee7 tr\u1ea3 l\u1eddi nh\u01b0ng kh\u00f4ng c\u00f3 d\u1ecbch v\u1ee5 SSH \u1edf c\u1ed5ng \u0111\u00f3 (sshd ch\u01b0a ch\u1ea1y ho\u1eb7c \u0111\u00e3 \u0111\u1ed5i c\u1ed5ng).<\/li>\n\n\n<li><strong>H\u1ecfi v\u00e2n tay l\u1ea7n \u0111\u1ea7u:<\/strong> d\u00f2ng <code>The authenticity of host ... can't be established<\/code> l\u00e0 b\u00ecnh th\u01b0\u1eddng \u1edf l\u1ea7n \u0111\u1ea7u. Tr\u01b0\u1edbc khi g\u00f5 <code>yes<\/code>, so v\u00e2n tay v\u1edbi th\u00f4ng tin nh\u00e0 cung c\u1ea5p ho\u1eb7c ch\u1ea1y <code>ssh-keygen -lf \/etc\/ssh\/ssh_host_ed25519_key.pub<\/code> qua console c\u1ee7a m\u00e1y ch\u1ee7.<\/li>\n\n\n<li><strong>Kh\u00f4ng ch\u1ecdn \u0111\u01b0\u1ee3c thu\u1eadt to\u00e1n chung:<\/strong> <code>no matching key exchange method found<\/code> ho\u1eb7c <code>no matching host key type found<\/code> hay g\u1eb7p khi m\u1ed9t b\u00ean l\u00e0 OpenSSH \u0111\u1eddi c\u0169, v\u00ed d\u1ee5 thi\u1ebft b\u1ecb m\u1ea1ng. N\u00ean n\u00e2ng c\u1ea5p ph\u00eda c\u0169; n\u1ebfu bu\u1ed9c ph\u1ea3i b\u1eadt thu\u1eadt to\u00e1n c\u0169, ch\u1ec9 b\u1eadt cho \u0111\u00fang m\u00e1y \u0111\u00f3 trong <code>~\/.ssh\/config<\/code>.<\/li>\n\n\n<li><strong>B\u1ecb t\u1eeb ch\u1ed1i \u0111\u0103ng nh\u1eadp:<\/strong> <code>Permission denied (publickey)<\/code> ngh\u0129a l\u00e0 m\u00e1y ch\u1ee7 kh\u00f4ng nh\u1eadn key b\u1ea1n g\u1eedi ho\u1eb7c \u0111\u00e3 t\u1eaft \u0111\u0103ng nh\u1eadp b\u1eb1ng m\u1eadt kh\u1ea9u. Ki\u1ec3m tra \u0111\u00fang user, \u0111\u00fang file key (<code>-i<\/code>), quy\u1ec1n th\u01b0 m\u1ee5c <code>~\/.ssh<\/code> l\u00e0 700 v\u00e0 file <code>authorized_keys<\/code> l\u00e0 600 tr\u00ean m\u00e1y ch\u1ee7.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sau khi \u0111\u0103ng nh\u1eadp, SFTP, SCP v\u00e0 chuy\u1ec3n ti\u1ebfp c\u1ed5ng \u1edf c\u00e1c ph\u1ea7n d\u01b0\u1edbi \u0111\u1ec1u ch\u1ea1y trong c\u00f9ng k\u1ebft n\u1ed1i \u0111\u00e3 m\u00e3 ho\u00e1, d\u00f9ng l\u1ea1i c\u00e1ch x\u00e1c th\u1ef1c b\u1ea1n v\u1eeba qua.<\/p>\n\n\n\n<h2 id=\"3_k\u1ef9_thu\u1eadt_m\u00e3_ho\u00e1_SSH_s\u1eed_d\u1ee5ng\">3 k\u1ef9 thu\u1eadt m\u00e3 ho\u00e1 SSH s\u1eed d\u1ee5ng<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SSH k\u1ebft h\u1ee3p ba k\u1ef9 thu\u1eadt m\u1eadt m\u00e3, m\u1ed7i k\u1ef9 thu\u1eadt l\u00e0m m\u1ed9t vi\u1ec7c. M\u00e3 ho\u00e1 \u0111\u1ed1i x\u1ee9ng b\u1ea3o v\u1ec7 to\u00e0n b\u1ed9 d\u1eef li\u1ec7u c\u1ee7a phi\u00ean; m\u1eadt m\u00e3 b\u1ea5t \u0111\u1ed1i x\u1ee9ng d\u00f9ng \u0111\u1ec3 trao \u0111\u1ed5i kho\u00e1 v\u00e0 x\u00e1c th\u1ef1c; h\u00e0m b\u0103m (qua HMAC ho\u1eb7c ch\u1ebf \u0111\u1ed9 m\u00e3 ho\u00e1 c\u00f3 x\u00e1c th\u1ef1c) b\u1ea3o \u0111\u1ea3m d\u1eef li\u1ec7u kh\u00f4ng b\u1ecb s\u1eeda tr\u00ean \u0111\u01b0\u1eddng truy\u1ec1n.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>K\u1ef9 thu\u1eadt<\/th><th>D\u00f9ng \u0111\u1ec3<\/th><th>V\u00ed d\u1ee5 thu\u1eadt to\u00e1n<\/th><\/tr><\/thead><tbody><tr><td><strong>M\u00e3 ho\u00e1 \u0111\u1ed1i x\u1ee9ng<\/strong> (symmetric)<\/td><td>M\u00e3 ho\u00e1 m\u1ecdi d\u1eef li\u1ec7u trong phi\u00ean b\u1eb1ng m\u1ed9t kho\u00e1 phi\u00ean chung, t\u1ea1o ra \u1edf b\u01b0\u1edbc trao \u0111\u1ed5i kho\u00e1. Nhanh, ph\u00f9 h\u1ee3p m\u00e3 ho\u00e1 l\u01b0\u1ee3ng d\u1eef li\u1ec7u l\u1edbn.<\/td><td>AES, ChaCha20<\/td><\/tr><tr><td><strong>M\u1eadt m\u00e3 b\u1ea5t \u0111\u1ed1i x\u1ee9ng<\/strong> (asymmetric)<\/td><td>Trao \u0111\u1ed5i kho\u00e1 phi\u00ean, x\u00e1c minh host key c\u1ee7a m\u00e1y ch\u1ee7 v\u00e0 x\u00e1c th\u1ef1c ng\u01b0\u1eddi d\u00f9ng b\u1eb1ng SSH key. D\u00f9ng c\u1eb7p public key \/ private key; private key kh\u00f4ng bao gi\u1edd r\u1eddi m\u00e1y ch\u1ee7 s\u1edf h\u1eefu.<\/td><td>Ed25519, ECDSA, RSA; trao \u0111\u1ed5i kho\u00e1 Curve25519<\/td><\/tr><tr><td><strong>H\u00e0m b\u0103m, HMAC<\/strong><\/td><td>G\u1eafn m\u00e3 x\u00e1c th\u1ef1c cho t\u1eebng g\u00f3i tin \u0111\u1ec3 ph\u00e1t hi\u1ec7n g\u00f3i tin b\u1ecb s\u1eeda ho\u1eb7c ph\u00e1t l\u1ea1i. H\u00e0m b\u0103m l\u00e0 m\u1ed9t chi\u1ec1u, kh\u00f4ng gi\u1ea3i ng\u01b0\u1ee3c \u0111\u01b0\u1ee3c.<\/td><td>HMAC-SHA2; ho\u1eb7c ch\u1ebf \u0111\u1ed9 c\u00f3 x\u00e1c th\u1ef1c nh\u01b0 AES-GCM, ChaCha20-Poly1305<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Thu\u1eadt to\u00e1n c\u1ee5 th\u1ec3 do client v\u00e0 m\u00e1y ch\u1ee7 tho\u1ea3 thu\u1eadn theo phi\u00ean b\u1ea3n OpenSSH \u0111ang d\u00f9ng.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e0i c\u0169 c\u00f3 m\u1ed9t ch\u1ed7 d\u1ec5 hi\u1ec3u nh\u1ea7m c\u1ea7n s\u1eeda: SSH kh\u00f4ng d\u00f9ng m\u1eadt m\u00e3 b\u1ea5t \u0111\u1ed1i x\u1ee9ng \u0111\u1ec3 m\u00e3 ho\u00e1 to\u00e0n b\u1ed9 phi\u00ean, m\u00e0 ch\u1ec9 d\u00f9ng \u1edf b\u01b0\u1edbc trao \u0111\u1ed5i kho\u00e1 v\u00e0 x\u00e1c th\u1ef1c. Ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a phi\u00ean d\u00f9ng m\u00e3 ho\u00e1 \u0111\u1ed1i x\u1ee9ng v\u00ec nhanh h\u01a1n. Xem th\u00eam kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n t\u1ea1i <a href=\"https:\/\/tino.vn\/blog\/ma-hoa-la-gi\/\">m\u00e3 ho\u00e1 l\u00e0 g\u00ec<\/a>.<\/p>\n\n\n\n<h2 id=\"X\u00e1c_th\u1ef1c_SSH_b\u1eb1ng_m\u1eadt_kh\u1ea9u_hay_SSH_key?\">X\u00e1c th\u1ef1c SSH b\u1eb1ng m\u1eadt kh\u1ea9u hay SSH key?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00ean d\u00f9ng SSH key. M\u1eadt kh\u1ea9u v\u1eabn \u0111\u01b0\u1ee3c m\u00e3 ho\u00e1 khi g\u1eedi, nh\u01b0ng c\u00f3 th\u1ec3 b\u1ecb d\u00f2 n\u1ebfu y\u1ebfu ho\u1eb7c d\u00f9ng l\u1ea1i, v\u00ec m\u00e1y ch\u1ee7 m\u1edf c\u1ed5ng 22 th\u01b0\u1eddng xuy\u00ean b\u1ecb qu\u00e9t t\u1ef1 \u0111\u1ed9ng. SSH key d\u00f9ng c\u1eb7p kho\u00e1: public key \u0111\u1eb7t tr\u00ean m\u00e1y ch\u1ee7, private key gi\u1eef tr\u00ean m\u00e1y b\u1ea1n v\u00e0 kh\u00f4ng bao gi\u1edd g\u1eedi qua m\u1ea1ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Theo <a href=\"https:\/\/man.openbsd.org\/ssh-keygen\" rel=\"nofollow noopener\" target=\"_blank\">t\u00e0i li\u1ec7u ssh-keygen<\/a>, OpenSSH hi\u1ec7n t\u1ea1o kho\u00e1 Ed25519 khi b\u1ea1n kh\u00f4ng ch\u1ec9 \u0111\u1ecbnh lo\u1ea1i kho\u00e1. T\u1ea1o v\u00e0 c\u00e0i SSH key nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Tr\u00ean m\u00e1y c\u1ee7a b\u1ea1n: t\u1ea1o c\u1eb7p kho\u00e1 (\u0111\u1eb7t passphrase khi \u0111\u01b0\u1ee3c h\u1ecfi)\nssh-keygen -t ed25519 -C \"email-cua-ban@example.com\"\n# -&gt; ~\/.ssh\/id_ed25519 (private key, gi\u1eef b\u00ed m\u1eadt) v\u00e0 ~\/.ssh\/id_ed25519.pub (public key)\n\n# Ch\u00e9p public key l\u00ean m\u00e1y ch\u1ee7 (c\u1ea7n \u0111\u0103ng nh\u1eadp b\u1eb1ng m\u1eadt kh\u1ea9u l\u1ea7n n\u00e0y)\nssh-copy-id user@203.0.113.10\n\n# \u0110\u0103ng nh\u1eadp th\u1eed b\u1eb1ng key trong m\u1ed9t c\u1eeda s\u1ed5 M\u1edaI, gi\u1eef phi\u00ean c\u0169 m\u1edf\nssh user@203.0.113.10<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ec9 khi \u0111\u0103ng nh\u1eadp b\u1eb1ng key th\u00e0nh c\u00f4ng m\u1edbi t\u1eaft \u0111\u0103ng nh\u1eadp b\u1eb1ng m\u1eadt kh\u1ea9u. S\u1eeda <code>\/etc\/ssh\/sshd_config<\/code> (ho\u1eb7c file trong <code>\/etc\/ssh\/sshd_config.d\/<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PasswordAuthentication no\nPermitRootLogin prohibit-password\n\n# Ki\u1ec3m tra c\u00fa ph\u00e1p r\u1ed3i n\u1ea1p l\u1ea1i d\u1ecbch v\u1ee5 (Ubuntu 24.04)\nsudo sshd -t\nsudo systemctl reload ssh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Theo <a href=\"https:\/\/man.openbsd.org\/sshd_config\" rel=\"nofollow noopener\" target=\"_blank\">t\u00e0i li\u1ec7u sshd_config<\/a>, m\u1eb7c \u0111\u1ecbnh c\u1ee7a OpenSSH l\u00e0 c\u1ed5ng 22, <code>PasswordAuthentication yes<\/code> v\u00e0 <code>PermitRootLogin prohibit-password<\/code>; b\u1ea3n c\u00e0i c\u1ee7a t\u1eebng h\u1ec7 \u0111i\u1ec1u h\u00e0nh ho\u1eb7c nh\u00e0 cung c\u1ea5p VPS c\u00f3 th\u1ec3 ghi \u0111\u00e8 c\u00e1c gi\u00e1 tr\u1ecb n\u00e0y, n\u00ean h\u00e3y ki\u1ec3m tra c\u1ea5u h\u00ecnh th\u1ef1c t\u1ebf. T\u00ecm hi\u1ec3u k\u1ef9 h\u01a1n v\u1ec1 c\u1eb7p kho\u00e1 t\u1ea1i <a href=\"https:\/\/tino.vn\/blog\/ssh-key-la-gi\/\">SSH key l\u00e0 g\u00ec<\/a>. Ng\u01b0\u1eddi d\u00f9ng VPS Tino c\u00f3 th\u1ec3 th\u00eam key qua b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n theo h\u01b0\u1edbng d\u1eabn <a href=\"https:\/\/tino.vn\/blog\/docs\/them-key-ssh-vao-vps-thong-qua-tino-panel\/\">th\u00eam SSH key v\u00e0o VPS qua Tino Panel<\/a>.<\/p>\n\n\n\n<h2 id=\"C\u00e1c_l\u1ec7nh_SSH_th\u01b0\u1eddng_d\u00f9ng\">C\u00e1c l\u1ec7nh SSH th\u01b0\u1eddng d\u00f9ng<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh SSH c\u01a1 b\u1ea3n c\u00f3 d\u1ea1ng <code>ssh user@host<\/code>: <code>user<\/code> l\u00e0 t\u00e0i kho\u1ea3n tr\u00ean m\u00e1y ch\u1ee7, <code>host<\/code> l\u00e0 \u0111\u1ecba ch\u1ec9 IP ho\u1eb7c t\u00ean mi\u1ec1n. T\u1eeb l\u1ec7nh n\u00e0y, b\u1ea1n th\u00eam tu\u1ef3 ch\u1ecdn \u0111\u1ec3 \u0111\u1ed5i c\u1ed5ng, ch\u1ecdn file kho\u00e1, ch\u1ea1y m\u1ed9t l\u1ec7nh duy nh\u1ea5t, chuy\u1ec3n file ho\u1eb7c chuy\u1ec3n ti\u1ebfp c\u1ed5ng. C\u00e1c l\u1ec7nh d\u01b0\u1edbi \u0111\u00e2y d\u00f9ng \u0111\u01b0\u1ee3c tr\u00ean Linux, macOS v\u00e0 Windows 10\/11 c\u00f3 OpenSSH Client.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>M\u1ee5c \u0111\u00edch<\/th><th>L\u1ec7nh<\/th><th>Ghi ch\u00fa<\/th><\/tr><\/thead><tbody><tr><td>\u0110\u0103ng nh\u1eadp m\u00e1y ch\u1ee7<\/td><td><code>ssh user@203.0.113.10<\/code><\/td><td>L\u1ea7n \u0111\u1ea7u s\u1ebd h\u1ecfi x\u00e1c nh\u1eadn v\u00e2n tay host key<\/td><\/tr><tr><td>\u0110\u0103ng nh\u1eadp c\u1ed5ng kh\u00e1c 22<\/td><td><code>ssh -p 2222 user@203.0.113.10<\/code><\/td><td><code>-p<\/code>: c\u1ed5ng tr\u00ean m\u00e1y ch\u1ee7<\/td><\/tr><tr><td>Ch\u1ec9 \u0111\u1ecbnh file kho\u00e1<\/td><td><code>ssh -i ~\/.ssh\/id_ed25519 user@host<\/code><\/td><td><code>-i<\/code>: private key d\u00f9ng \u0111\u1ec3 x\u00e1c th\u1ef1c<\/td><\/tr><tr><td>Ch\u1ea1y m\u1ed9t l\u1ec7nh r\u1ed3i tho\u00e1t<\/td><td><code>ssh user@host \"df -h\"<\/code><\/td><td>L\u1ec7nh ch\u1ea1y tr\u00ean m\u00e1y ch\u1ee7 thay cho shell t\u01b0\u01a1ng t\u00e1c<\/td><\/tr><tr><td>T\u1ea1o SSH key<\/td><td><code>ssh-keygen -t ed25519<\/code><\/td><td>T\u1ea1o c\u1eb7p kho\u00e1 trong <code>~\/.ssh\/<\/code><\/td><\/tr><tr><td>Ch\u00e9p public key l\u00ean m\u00e1y ch\u1ee7<\/td><td><code>ssh-copy-id user@host<\/code><\/td><td>Th\u00eam key v\u00e0o <code>~\/.ssh\/authorized_keys<\/code><\/td><\/tr><tr><td>Ch\u00e9p file l\u00ean m\u00e1y ch\u1ee7<\/td><td><code>scp file.zip user@host:\/home\/user\/<\/code><\/td><td>\u0110i qua k\u1ebft n\u1ed1i SSH; <code>sftp user@host<\/code> cho phi\u00ean chuy\u1ec3n file t\u01b0\u01a1ng t\u00e1c<\/td><\/tr><tr><td>Chuy\u1ec3n ti\u1ebfp c\u1ed5ng v\u1ec1 m\u00e1y b\u1ea1n<\/td><td><code>ssh -L 8080:localhost:80 user@host<\/code><\/td><td>M\u1edf <code>localhost:8080<\/code> tr\u00ean m\u00e1y b\u1ea1n \u0111\u1ec3 v\u00e0o c\u1ed5ng 80 c\u1ee7a m\u00e1y ch\u1ee7<\/td><\/tr><tr><td>\u0110i qua m\u00e1y ch\u1ee7 trung gian<\/td><td><code>ssh -J user@bastion user@may-noi-bo<\/code><\/td><td><code>-J<\/code>: jump host<\/td><\/tr><tr><td>Xem chi ti\u1ebft khi l\u1ed7i<\/td><td><code>ssh -v user@host<\/code><\/td><td>In t\u1eebng b\u01b0\u1edbc k\u1ebft n\u1ed1i \u0111\u1ec3 t\u00ecm nguy\u00ean nh\u00e2n<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Theo t\u00e0i li\u1ec7u OpenSSH (man ssh, ssh-keygen), truy c\u1eadp 20\/10\/2026. 203.0.113.10 l\u00e0 IP v\u00ed d\u1ee5.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00f3 th\u1ec3 l\u01b0u s\u1eb5n th\u00f4ng tin m\u00e1y ch\u1ee7 trong file <code>~\/.ssh\/config<\/code> \u0111\u1ec3 ch\u1ec9 c\u1ea7n g\u00f5 <code>ssh vps<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Host vps\n    HostName 203.0.113.10\n    User deploy\n    Port 22\n    IdentityFile ~\/.ssh\/id_ed25519<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu th\u00edch giao di\u1ec7n \u0111\u1ed3 ho\u1ea1, b\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng Termius (<a href=\"https:\/\/tino.vn\/blog\/docs\/su-dung-phan-mem-termius-ket-noi-ssh-toi-vps\/\">h\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i SSH b\u1eb1ng Termius<\/a>) ho\u1eb7c <a href=\"https:\/\/tino.vn\/blog\/winscp-la-gi\/\">WinSCP<\/a> \u0111\u1ec3 chuy\u1ec3n file qua SFTP tr\u00ean Windows.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_d\u00f9ng_SSH_k\u1ebft_n\u1ed1i_m\u00e1y_ch\u1ee7,_VPS\">C\u00e1ch d\u00f9ng SSH k\u1ebft n\u1ed1i m\u00e1y ch\u1ee7, VPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 k\u1ebft n\u1ed1i VPS b\u1eb1ng SSH, b\u1ea1n c\u1ea7n ba th\u00f4ng tin: \u0111\u1ecba ch\u1ec9 IP, t\u00ean ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u ho\u1eb7c SSH key, th\u01b0\u1eddng c\u00f3 trong email k\u00edch ho\u1ea1t c\u1ee7a nh\u00e0 cung c\u1ea5p. M\u1edf Terminal (macOS, Linux) ho\u1eb7c PowerShell (Windows 10\/11), g\u00f5 <code>ssh user@IP<\/code>, x\u00e1c nh\u1eadn v\u00e2n tay \u1edf l\u1ea7n \u0111\u1ea7u r\u1ed3i nh\u1eadp m\u1eadt kh\u1ea9u ho\u1eb7c d\u00f9ng key.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>macOS, Linux:<\/strong> m\u1edf Terminal, g\u00f5 <code>ssh root@IP-VPS<\/code> ho\u1eb7c <code>ssh user@IP-VPS<\/code>.<\/li>\n\n\n<li><strong>Windows 10\/11:<\/strong> theo <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-server\/administration\/openssh\/openssh-overview\" rel=\"nofollow noopener\" target=\"_blank\">Microsoft Learn<\/a>, OpenSSH c\u00f3 tr\u00ean Windows t\u1eeb Windows 10 b\u1ea3n 1809 d\u01b0\u1edbi d\u1ea1ng t\u00ednh n\u0103ng tu\u1ef3 ch\u1ecdn. G\u00f5 <code>ssh<\/code> trong PowerShell \u0111\u1ec3 ki\u1ec3m tra; n\u1ebfu ch\u01b0a c\u00f3, b\u1eadt &#8220;OpenSSH Client&#8221; trong Optional features. C\u0169ng c\u00f3 th\u1ec3 d\u00f9ng PuTTY.<\/li>\n\n\n<li><strong>Khi g\u00f5 m\u1eadt kh\u1ea9u:<\/strong> m\u00e0n h\u00ecnh kh\u00f4ng hi\u1ec7n k\u00fd t\u1ef1 n\u00e0o, \u0111\u00e2y l\u00e0 b\u00ecnh th\u01b0\u1eddng. G\u00f5 xong nh\u1ea5n Enter.<\/li>\n\n\n<li><strong>Sau l\u1ea7n \u0111\u0103ng nh\u1eadp \u0111\u1ea7u:<\/strong> t\u1ea1o user th\u01b0\u1eddng c\u00f3 quy\u1ec1n sudo, c\u00e0i SSH key, r\u1ed3i m\u1edbi t\u1eaft \u0111\u0103ng nh\u1eadp b\u1eb1ng m\u1eadt kh\u1ea9u.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">H\u01b0\u1edbng d\u1eabn chi ti\u1ebft theo t\u1eebng h\u1ec7 \u0111i\u1ec1u h\u00e0nh, k\u00e8m c\u00e1ch x\u1eed l\u00fd l\u1ed7i th\u01b0\u1eddng g\u1eb7p nh\u01b0 &#8220;Connection refused&#8221;, &#8220;Permission denied (publickey)&#8221;, c\u00f3 trong b\u00e0i <a href=\"https:\/\/tino.vn\/blog\/cach-ket-noi-vps\/\">c\u00e1ch k\u1ebft n\u1ed1i VPS<\/a>. N\u1ebfu d\u00f9ng hosting, xem <a href=\"https:\/\/tino.vn\/blog\/truy-cap-ssh-vao-share-hosting-voi-putty\/\">truy c\u1eadp SSH v\u00e0o hosting b\u1eb1ng PuTTY<\/a>.<\/p>\n\n\n\n<h2 id=\"C\u1ed5ng_22_v\u00e0_b\u1ea3o_m\u1eadt_SSH\">C\u1ed5ng 22 v\u00e0 b\u1ea3o m\u1eadt SSH<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1ed5ng 22 l\u00e0 c\u1ed5ng m\u1eb7c \u0111\u1ecbnh c\u1ee7a SSH, n\u00ean c\u0169ng l\u00e0 c\u1ed5ng b\u1ecb c\u00e1c bot qu\u00e9t v\u00e0 d\u00f2 m\u1eadt kh\u1ea9u th\u01b0\u1eddng xuy\u00ean. \u0110\u1ed5i sang c\u1ed5ng kh\u00e1c ch\u1ec9 gi\u1ea3m b\u1edbt log r\u00e1c, kh\u00f4ng thay \u0111\u01b0\u1ee3c c\u00e1c bi\u1ec7n ph\u00e1p ch\u00ednh: \u0111\u0103ng nh\u1eadp b\u1eb1ng key, t\u1eaft m\u1eadt kh\u1ea9u, gi\u1edbi h\u1ea1n ng\u01b0\u1eddi d\u00f9ng v\u00e0 b\u1eadt t\u01b0\u1eddng l\u1eeda.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D\u00f9ng SSH key ed25519<\/strong> c\u00f3 passphrase; t\u1eaft <code>PasswordAuthentication<\/code> khi key \u0111\u00e3 ch\u1ea1y.<\/li>\n\n\n<li><strong>Kh\u00f4ng \u0111\u0103ng nh\u1eadp root b\u1eb1ng m\u1eadt kh\u1ea9u:<\/strong> d\u00f9ng user th\u01b0\u1eddng v\u1edbi sudo; gi\u1eef <code>PermitRootLogin prohibit-password<\/code> ho\u1eb7c <code>no<\/code>.<\/li>\n\n\n<li><strong>B\u1eadt t\u01b0\u1eddng l\u1eeda \u0111\u00fang th\u1ee9 t\u1ef1:<\/strong> <code>sudo ufw allow OpenSSH<\/code> (ho\u1eb7c c\u1ed5ng SSH m\u1edbi) <em>tr\u01b0\u1edbc<\/em>, r\u1ed3i m\u1edbi <code>sudo ufw enable<\/code>, \u0111\u1ec3 kh\u00f4ng t\u1ef1 kho\u00e1 m\u00ecnh ngo\u00e0i m\u00e1y ch\u1ee7.<\/li>\n\n\n<li><strong>N\u1ebfu \u0111\u1ed5i c\u1ed5ng SSH:<\/strong> m\u1edf c\u1ed5ng m\u1edbi tr\u00ean t\u01b0\u1eddng l\u1eeda, th\u1eed \u0111\u0103ng nh\u1eadp b\u1eb1ng c\u1ed5ng m\u1edbi trong c\u1eeda s\u1ed5 kh\u00e1c, r\u1ed3i m\u1edbi \u0111\u00f3ng c\u1ed5ng 22.<\/li>\n\n\n<li><strong>Ch\u1ed1ng d\u00f2 m\u1eadt kh\u1ea9u:<\/strong> c\u00e0i Fail2ban \u0111\u1ec3 ch\u1eb7n IP \u0111\u0103ng nh\u1eadp sai nhi\u1ec1u l\u1ea7n; c\u1eadp nh\u1eadt OpenSSH th\u01b0\u1eddng xuy\u00ean.<\/li>\n\n\n<li><strong>Chu\u1ea9n b\u1ecb \u0111\u01b0\u1eddng lui:<\/strong> d\u00f9ng console c\u1ee7a nh\u00e0 cung c\u1ea5p (v\u00ed d\u1ee5 Web Console noVNC tr\u00ean VPS Tino) khi l\u1ee1 c\u1ea5u h\u00ecnh sai SSH.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Danh s\u00e1ch ki\u1ec3m tra \u0111\u1ea7y \u0111\u1ee7 c\u00f3 trong b\u00e0i <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps\/\">b\u1ea3o m\u1eadt VPS<\/a>. N\u1ebfu b\u1ea1n c\u1ea7n m\u1ed9t m\u00e1y ch\u1ee7 Linux \u0111\u1ec3 th\u1ef1c h\u00e0nh, c\u00e1c g\u00f3i <a href=\"https:\/\/tino.vn\/vps-gia-re\">VPS NVMe t\u1ea1i Tino<\/a> c\u00f3 Full Root Access v\u00e0 Web Console noVNC (th\u00f4ng tin trang s\u1ea3n ph\u1ea9m, ki\u1ec3m tra 20\/10\/2026). Ki\u1ebfn th\u1ee9c n\u1ec1n v\u1ec1 m\u00e1y ch\u1ee7 \u1ea3o c\u00f3 t\u1ea1i <a href=\"https:\/\/tino.vn\/blog\/vps-la-gi\/\">VPS l\u00e0 g\u00ec<\/a>.<\/p>\n\n\n\n<h2 id=\"C\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p_v\u1ec1_SSH\">C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 SSH<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"SSH_key_l\u00e0_g\u00ec?\">SSH key l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">SSH key l\u00e0 c\u1eb7p kho\u00e1 d\u00f9ng \u0111\u1ec3 \u0111\u0103ng nh\u1eadp SSH thay cho m\u1eadt kh\u1ea9u: public key \u0111\u1eb7t tr\u00ean m\u00e1y ch\u1ee7, private key gi\u1eef tr\u00ean m\u00e1y c\u1ee7a b\u1ea1n. Khi \u0111\u0103ng nh\u1eadp, m\u00e1y ch\u1ee7 ki\u1ec3m tra b\u1ea1n c\u00f3 private key t\u01b0\u01a1ng \u1ee9ng m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea1n g\u1eedi kho\u00e1 \u0111\u00f3 \u0111i. N\u00ean t\u1ea1o kho\u00e1 lo\u1ea1i ed25519 v\u00e0 \u0111\u1eb7t passphrase \u0111\u1ec3 b\u1ea3o v\u1ec7 private key.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"SSH_v\u00e0_SSL\/TLS_kh\u00e1c_nhau_th\u1ebf_n\u00e0o?\">SSH v\u00e0 SSL\/TLS kh\u00e1c nhau th\u1ebf n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u1ea3 hai \u0111\u1ec1u m\u00e3 ho\u00e1 d\u1eef li\u1ec7u tr\u00ean m\u1ea1ng nh\u01b0ng d\u00f9ng cho vi\u1ec7c kh\u00e1c nhau. SSH d\u00f9ng \u0111\u1ec3 \u0111\u0103ng nh\u1eadp v\u00e0 qu\u1ea3n tr\u1ecb m\u00e1y ch\u1ee7 t\u1eeb xa, chuy\u1ec3n file; SSL\/TLS d\u00f9ng \u0111\u1ec3 m\u00e3 ho\u00e1 k\u1ebft n\u1ed1i gi\u1eefa tr\u00ecnh duy\u1ec7t v\u00e0 website (HTTPS), email v\u00e0 nhi\u1ec1u \u1ee9ng d\u1ee5ng kh\u00e1c. SSH x\u00e1c th\u1ef1c m\u00e1y ch\u1ee7 b\u1eb1ng host key l\u01b0u trong known_hosts, c\u00f2n TLS d\u00f9ng ch\u1ee9ng ch\u1ec9 do t\u1ed5 ch\u1ee9c ch\u1ee9ng th\u1ef1c c\u1ea5p.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"SFTP_c\u00f3_ph\u1ea3i_l\u00e0_SSH_kh\u00f4ng?\">SFTP c\u00f3 ph\u1ea3i l\u00e0 SSH kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">SFTP (SSH File Transfer Protocol) l\u00e0 giao th\u1ee9c chuy\u1ec3n file ch\u1ea1y b\u00ean trong k\u1ebft n\u1ed1i SSH, n\u00ean d\u00f9ng chung c\u1ed5ng 22 v\u00e0 c\u00e1ch x\u00e1c th\u1ef1c c\u1ee7a SSH. SFTP kh\u00e1c v\u1edbi FTPS (FTP ch\u1ea1y tr\u00ean TLS) v\u00e0 an to\u00e0n h\u01a1n FTP th\u01b0\u1eddng, v\u1ed1n g\u1eedi m\u1eadt kh\u1ea9u kh\u00f4ng m\u00e3 ho\u00e1.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"V\u00ec_sao_SSH_b\u00e1o_&quot;WARNING:_REMOTE_HOST_IDENTIFICATION_HAS_CHANGED&quot;?\">V\u00ec sao SSH b\u00e1o &quot;WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED&quot;?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u1ea3nh b\u00e1o n\u00e0y xu\u1ea5t hi\u1ec7n khi host key c\u1ee7a m\u00e1y ch\u1ee7 kh\u00e1c v\u1edbi kho\u00e1 \u0111\u00e3 l\u01b0u trong <code>~\/.ssh\/known_hosts<\/code>. L\u00fd do ph\u1ed5 bi\u1ebfn l\u00e0 b\u1ea1n v\u1eeba c\u00e0i l\u1ea1i h\u1ec7 \u0111i\u1ec1u h\u00e0nh VPS. N\u1ebfu ch\u1eafc ch\u1eafn nh\u01b0 v\u1eady, xo\u00e1 kho\u00e1 c\u0169 b\u1eb1ng <code>ssh-keygen -R IP-may-chu<\/code> r\u1ed3i k\u1ebft n\u1ed1i l\u1ea1i; n\u1ebfu kh\u00f4ng r\u00f5 l\u00fd do, \u0111\u1eebng ti\u1ebfp t\u1ee5c v\u00ec c\u00f3 th\u1ec3 c\u00f3 m\u00e1y ch\u1ee7 gi\u1ea3 m\u1ea1o.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"L\u00e0m_sao_bi\u1ebft_m\u00e1y_ch\u1ee7_c\u00f3_\u0111ang_ch\u1ea1y_SSH_kh\u00f4ng?\">L\u00e0m sao bi\u1ebft m\u00e1y ch\u1ee7 c\u00f3 \u0111ang ch\u1ea1y SSH kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Tr\u00ean m\u00e1y ch\u1ee7, ch\u1ea1y <code>sudo systemctl status ssh<\/code> (Ubuntu) \u0111\u1ec3 xem d\u1ecbch v\u1ee5, v\u00e0 <code>sudo ss -tlnp | grep ssh<\/code> \u0111\u1ec3 xem c\u1ed5ng \u0111ang l\u1eafng nghe. T\u1eeb m\u00e1y c\u1ee7a b\u1ea1n, <code>ssh -v user@host<\/code> cho bi\u1ebft k\u1ebft n\u1ed1i d\u1eebng \u1edf b\u01b0\u1edbc n\u00e0o.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"SSH key l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>SSH key l\u00e0 c\u1eb7p kho\u00e1 d\u00f9ng \u0111\u1ec3 \u0111\u0103ng nh\u1eadp SSH thay cho m\u1eadt kh\u1ea9u: public key \u0111\u1eb7t tr\u00ean m\u00e1y ch\u1ee7, private key gi\u1eef tr\u00ean m\u00e1y c\u1ee7a b\u1ea1n. Khi \u0111\u0103ng nh\u1eadp, m\u00e1y ch\u1ee7 ki\u1ec3m tra b\u1ea1n c\u00f3 private key t\u01b0\u01a1ng \u1ee9ng m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea1n g\u1eedi kho\u00e1 \u0111\u00f3 \u0111i. N\u00ean t\u1ea1o kho\u00e1 lo\u1ea1i ed25519 v\u00e0 \u0111\u1eb7t passphrase \u0111\u1ec3 b\u1ea3o v\u1ec7 private key.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"SSH v\u00e0 SSL\/TLS kh\u00e1c nhau th\u1ebf n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u1ea3 hai \u0111\u1ec1u m\u00e3 ho\u00e1 d\u1eef li\u1ec7u tr\u00ean m\u1ea1ng nh\u01b0ng d\u00f9ng cho vi\u1ec7c kh\u00e1c nhau. SSH d\u00f9ng \u0111\u1ec3 \u0111\u0103ng nh\u1eadp v\u00e0 qu\u1ea3n tr\u1ecb m\u00e1y ch\u1ee7 t\u1eeb xa, chuy\u1ec3n file; SSL\/TLS d\u00f9ng \u0111\u1ec3 m\u00e3 ho\u00e1 k\u1ebft n\u1ed1i gi\u1eefa tr\u00ecnh duy\u1ec7t v\u00e0 website (HTTPS), email v\u00e0 nhi\u1ec1u \u1ee9ng d\u1ee5ng kh\u00e1c. SSH x\u00e1c th\u1ef1c m\u00e1y ch\u1ee7 b\u1eb1ng host key l\u01b0u trong known_hosts, c\u00f2n TLS d\u00f9ng ch\u1ee9ng ch\u1ec9 do t\u1ed5 ch\u1ee9c ch\u1ee9ng th\u1ef1c c\u1ea5p.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"SFTP c\u00f3 ph\u1ea3i l\u00e0 SSH kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>SFTP (SSH File Transfer Protocol) l\u00e0 giao th\u1ee9c chuy\u1ec3n file ch\u1ea1y b\u00ean trong k\u1ebft n\u1ed1i SSH, n\u00ean d\u00f9ng chung c\u1ed5ng 22 v\u00e0 c\u00e1ch x\u00e1c th\u1ef1c c\u1ee7a SSH. SFTP kh\u00e1c v\u1edbi FTPS (FTP ch\u1ea1y tr\u00ean TLS) v\u00e0 an to\u00e0n h\u01a1n FTP th\u01b0\u1eddng, v\u1ed1n g\u1eedi m\u1eadt kh\u1ea9u kh\u00f4ng m\u00e3 ho\u00e1.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"V\u00ec sao SSH b\u00e1o \\\"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED\\\"?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u1ea3nh b\u00e1o n\u00e0y xu\u1ea5t hi\u1ec7n khi host key c\u1ee7a m\u00e1y ch\u1ee7 kh\u00e1c v\u1edbi kho\u00e1 \u0111\u00e3 l\u01b0u trong ~\/.ssh\/known_hosts. L\u00fd do ph\u1ed5 bi\u1ebfn l\u00e0 b\u1ea1n v\u1eeba c\u00e0i l\u1ea1i h\u1ec7 \u0111i\u1ec1u h\u00e0nh VPS. N\u1ebfu ch\u1eafc ch\u1eafn nh\u01b0 v\u1eady, xo\u00e1 kho\u00e1 c\u0169 b\u1eb1ng ssh-keygen -R IP-may-chu r\u1ed3i k\u1ebft n\u1ed1i l\u1ea1i; n\u1ebfu kh\u00f4ng r\u00f5 l\u00fd do, \u0111\u1eebng ti\u1ebfp t\u1ee5c v\u00ec c\u00f3 th\u1ec3 c\u00f3 m\u00e1y ch\u1ee7 gi\u1ea3 m\u1ea1o.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"L\u00e0m sao bi\u1ebft m\u00e1y ch\u1ee7 c\u00f3 \u0111ang ch\u1ea1y SSH kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Tr\u00ean m\u00e1y ch\u1ee7, ch\u1ea1y sudo systemctl status ssh (Ubuntu) \u0111\u1ec3 xem d\u1ecbch v\u1ee5, v\u00e0 sudo ss -tlnp | grep ssh \u0111\u1ec3 xem c\u1ed5ng \u0111ang l\u1eafng nghe. T\u1eeb m\u00e1y c\u1ee7a b\u1ea1n, ssh -v user@host cho bi\u1ebft k\u1ebft n\u1ed1i d\u1eebng \u1edf b\u01b0\u1edbc n\u00e0o.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n\n\n\n<h2 id=\"Ngu\u1ed3n_tham_kh\u1ea3o\">Ngu\u1ed3n tham kh\u1ea3o<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc4251\" rel=\"nofollow noopener\" target=\"_blank\">IETF RFC 4251: The Secure Shell (SSH) Protocol Architecture<\/a> (truy c\u1eadp 20\/10\/2026)<\/li>\n\n\n<li><a href=\"https:\/\/man.openbsd.org\/ssh\" rel=\"nofollow noopener\" target=\"_blank\">OpenSSH manual: ssh(1)<\/a> (truy c\u1eadp 20\/10\/2026)<\/li>\n\n\n<li><a href=\"https:\/\/man.openbsd.org\/ssh-keygen\" rel=\"nofollow noopener\" target=\"_blank\">OpenSSH manual: ssh-keygen(1)<\/a> (truy c\u1eadp 20\/10\/2026)<\/li>\n\n\n<li><a href=\"https:\/\/man.openbsd.org\/sshd_config\" rel=\"nofollow noopener\" target=\"_blank\">OpenSSH manual: sshd_config(5)<\/a> (truy c\u1eadp 20\/10\/2026)<\/li>\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-server\/administration\/openssh\/openssh-overview\" rel=\"nofollow noopener\" target=\"_blank\">Microsoft Learn: OpenSSH for Windows overview<\/a> (truy c\u1eadp 20\/10\/2026)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>SSH (Secure Shell) l\u00e0 giao th\u1ee9c m\u1ea1ng cho ph\u00e9p \u0111\u0103ng nh\u1eadp v\u00e0 \u0111i\u1ec1u khi\u1ec3n m\u00e1y ch\u1ee7 t\u1eeb xa qua m\u1ed9t k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c m\u00e3 ho\u00e1. V\u1edbi SSH, b\u1ea1n g\u00f5 l\u1ec7nh tr\u00ean m\u00e1y t\u00ednh c\u1ee7a m\u00ecnh v\u00e0 l\u1ec7nh ch\u1ea1y tr\u00ean m\u00e1y ch\u1ee7 \u1edf xa, nh\u01b0 \u0111ang ng\u1ed3i tr\u01b0\u1edbc m\u00e1y \u0111\u00f3. M\u1eadt kh\u1ea9u, l\u1ec7nh v\u00e0 k\u1ebft qu\u1ea3 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":131188,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7728],"tags":[],"class_list":["post-15917","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-quan-tri-server"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/15917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=15917"}],"version-history":[{"count":2,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/15917\/revisions"}],"predecessor-version":[{"id":131619,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/15917\/revisions\/131619"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/131188"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=15917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=15917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=15917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}