首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
远程连接——SSH
发布时间:2024-03-10 20:01:49 分类:帮助文档
远程连接——SSH 简介 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。 优点: 数据传输是加密的,可以防止信息泄漏 数据传输是压缩的,可以提高传输速度 原理 SSH客户端<--------------网络---------------->SSH服务端 SSH客户端:Putty、 Xshell、CRTSSH服务端:OpenSSH ssh免密码登录主要采用算法: 对称加密算法 原理:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。 特点:计算量小、加密解密的速度比较快,适合数据比较长时的使用; 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦。 非对称加密算法 原理:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 特点:非对称加密技术安全性更好,但性能更慢。 安装 Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。sshd服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)sshd服务的默认配置文件是/etc/ssh/sshd_ config 检查是否安装: ssh -V 已经安装如下所示: (base) [root@localhost homes]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 (base) [root@localhost homes]# 查看一下和ssh相关的安装包: # centos yum search ssh # ubantu sudo apt-get install ssh 存在ssh的安装包: (base) [root@localhost homes]# yum search ssh 已加载插件:fastestmirror, langpacks Repository libnvidia-container is listed more than once in the configuration Repository libnvidia-container-experimental is listed more than once in the configuration Repository nvidia-container-runtime is listed more than once in the configuration Repository nvidia-container-runtime-experimental is listed more than once in the configuration Loading mirror speeds from cached hostfile .... scponly.x86_64 : Restricted shell for ssh based file services sshuttle.noarch : Transparent Proxy VPN sslh.x86_64 : Applicative protocol(SSL/SSH) multiplexer 使用yum安装: # rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件 # 安装SSH协议 yum -y install ssh openssh openssh-clients openssh-server rsync 配置 OpenSSH常用配置文件 类型路径说明客户端配置文件/etc/ssh/ssh_config设置与客户端相关的应用可通过此文件实现服务器端配置文件/etc/ssh/sshd_config设置与服务端相关的应用可通过此文件实现 修改配置文件: # 备份原始配置文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori vim /etc/ssh/sshd_config 修改内容如下: 参数值说明Port22sshd服务监听端口ListenAddress0.0.0.0sshd服务监听ipLoginGraceTime 2m登录验证时间为2分钟(默认2分钟)PermitRootLogin yes是否允许root远程登录StrictModes yes检查.ssh/文件的所有者,权限等MaxAuthTries 6用来设置最大失败尝试登陆次数为MaxSessions 10同一个连接最大会话UseDNS no提高速度可改为no 内网改为no 禁用反向解析PubkeyAuthenticationyes基于key验证PermitEmptyPasswords no是否允许空密码登录PrintLastLog yes显示上次登入的信息!默认为 yesPasswordAuthenticationyes是否启用密码验证AuthorizedKeysFile .ssh/authorized_keys 指定公钥库文件(ls -a可查看)GatewayPorts no网关ClientAliveInterval 10单位:秒ClientAliveCountMax3默认3GSSAPIAuthentication no提高速度可改为noaxStartups 10未认证连接最大值,默认值10AllowUsers user1 user2 user3@ip(限制主机)可登录用户:白名单DenyUsers user1 user2 user3@ip(限制主机)禁登录用户:黑名单AllowGroups g1 g2可登录用户组:白名单DenyGroupsg1 g2可登录用户组:白名单 设置开机自启: # 检查是否修改成功 vimdiff /etc/ssh/sshd_config.ori /etc/ssh/sshd_config # 查看开机启动sshd服务 systemctl is-enabled sshd # 未开启 disabled # 已开启 enabled # 开启开机自启 chkconfig sshd on # 禁止开机自启 chkconfig sshd off 命令 ssh 语法 ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command] 选项 参数名参数值说明-a关闭认证代理联机-pport连接远程机器上的port。-P使用非特定的 port 去对外联机。如果读者的防火墙不淮许从特定的 port去联机时,就可以使用这个选项。注意这个选项会关掉 RhostsAuthentication 和 RhostsRSAAuthentication。-q安静模式。把所有的警告和讯息抑制,只有严重的错误才会被显示。-Llisten-port:host:port指派本地的 port 到达端机器地址上的 port。-Rlisten-port:host:port指派远程上的 port 到本地地址上的 port。-t强制配置 pseudo-tty。这可以在远程机器上去执行任意的 screen-based 程 式,例如操作 menu services。-n重导 stdin 到 /dev/null (实际上是避免读取 stdin)。必须当 ssh 在幕后执 行时才使用。常见的招数是使用这选项在远程机器上去执行 X11 的程序 例如,ssh -n shadows.cs.hut.fi emacs &,将在 shadows.cs.hut.fi 上激活 emace,并且 X11 连接将自动地在加密的信道上发送。ssh 程序将把它放 在幕后。(假如ssh需要去询问密码时,这将不会动作) -iidentity_file选择所读取的 RSA 认证识别的档案。预设是在使用者的家目录 中的 .ssh/identity 。-g允许远程主机去连接本地指派的 ports。 -echaracter设定跳脱字符。 -f要求ssh 在背景执行命令,假如ssh要询问密码或通行证,但是使用者 想要它在幕后执行就可以用这个方式,最好还是加上-l user 例如在远程场所上激活 X11,有点像是 ssh –f host xterm 。 -V显示版本。-vVerbose 模式。使ssh 去印出关于行程的除错讯息,这在连接除错,认 证和设定的问题上有很的帮助。 -cblowfish|3des 在期间内选择所加密的密码型式。预设是3des,3des(作三次的资料加密) 是用三种不同的密码键作三次的加密-解密-加密。 blowfish 是一个快速区块密码编制器,它比3des更安全以及更快速。-llogin_name指定登入于远程机器上的使用者,若没加这个选项,而直接打 ssh lost 也是可以的,它是以读者目前的使用者去做登入的动作。 例如: ssh –l shie mouse.oit.edu.tw 。-X-N是不执行远端命令,在只是端口转发时这条命令很有用处。-T不显示终端,只显示连接成功信息。-2强制 ssh 去使用协议版本 2。 -4强制 ssh 去使用 IPv4 地址。-6强制 ssh 去使用 IPv6 地址。 ssh-keygen 语法 ssh-keygen [OPTIONS]
... 选项 参数名参数值说明-b
指定密钥长度-a
保存私钥时,此选项指定使用的 KDF(密钥派生函数,当前为 bcrypt_pbkdf(3))轮数。较高的数字会导致密码验证速度变慢,并增加对暴力密码破解的抵抗力(如果密钥被盗)。默认值为 16 轮-A<>对于不存在主机密钥的每种密钥类型(rsa、dsa、ecdsa 和 ed25519),生成具有默认密钥文件路径、空密码、密钥类型的默认位和默认注释的主机密钥。如果还指定了 -f,则其参数用作生成的主机密钥文件的默认路径的前缀。系统管理脚本使用它来生成新的主机密钥-e<>读取 OpenSSH 的私钥或者公钥文件-c
请求更改私钥和公钥文件中的注释。程序将提示输入包含私钥的文件,如果密钥有密码,则提示输入密码,以及新的评论。-C<注释 >注释 -f
指定用来保存密钥的文件名-i<>读取未加密的 ssh-v2 兼容的私钥/公钥文件,然后在标准输出设备上显示 openssh 兼容的私钥/公钥-M<生成>生成候选 Diffie-Hellman 组交换 (DH-GEX) 参数,以供“diffie-hellman-group-exchange-*”密钥交换方法最终使用。此操作产生的数字在使用前必须进一步筛选。-l<>显示公钥文件的指纹数据-L<>打印一个或多个证书的内容-k<>生成一个 KRL 文件。在这种模式下,ssh-keygen 将在通过 -f 标志指定的位置生成一个 KRL 文件,该文件会撤销命令行上提供的每个密钥或证书。要撤销的密钥/证书可以由公钥文件指定-K<>从 FIDO 身份验证器下载常驻密钥。对于每个下载的密钥,公钥和私钥文件将写入当前目录。如果附加了多个 FIDO 验证器,将从第一个接触的验证器下载密钥-N
提供一个新密语-n<主体>指定签名密钥时要包含在证书中的一个或多个主体(用户名或主机名)。可以指定多个主体,用逗号分隔-P
提供(旧)密语-q<>静默模式-t
指定要创建的密钥类型-C<>用于识别这个密钥的注释 ,这个注释你可以输入任何内容(邮箱),很多网站和软件用这个注释作为密钥的名字-E
指纹哈希 指定显示密钥指纹时使用的哈希算法。默认值为“sha256”。-g<>使用 -r 命令打印指纹资源记录时使用通用 DNS 格式-H<>散列 known_hosts 文件。这将使用指定文件中的散列表示替换所有主机名和地址;原始内容被移动到带有 .old 后缀的文件中。 ssh 和 sshd 可以正常使用这些哈希值,但如果文件的内容被泄露,它们不会泄露识别信息。此选项不会修改现有的散列主机名,因此可以安全地用于混合散列和非散列名称的文件。-h<>签署密钥时,创建主机证书而不是用户证书-l<>证书身份-F
主机名 | [hostname]:port 在 known_hosts 文件中搜索指定的主机名(带有可选端口号),列出找到的所有匹配项。此选项对于查找散列主机名或地址很有用,也可以与 -H 选项结合使用,以散列格式打印找到的键-B<>显示指定私钥或公钥文件的泡泡摘要-D<>pkcs11 下载 PKCS#11 共享库 pkcs11 提供的公钥。当与 -s 结合使用时,此选项表示 CA 密钥驻留在 PKCS#11 令牌中(有关详细信息,请参阅证书部分)-p<>请求更改私钥文件的密码,而不是创建新的私钥。程序将提示输入包含私钥的文件,输入旧密码,两次输入新密码。-Q<>请求更改私钥文件的密码,而不是创建新的私钥。程序将提示输入包含私钥的文件,输入旧密码,两次输入新密码。-R
主机名 | [hostname]:port 从 known_hosts 文件中删除属于指定主机名(带有可选端口号)的所有键。此选项对于删除散列主机很有用(请参阅上面的 -H 选项)-r
打印指定公钥文件的名为 hostname 的 SSHFP 指纹资源记录-s
使用指定的 CA 密钥验证(签名)公钥。生成 KRL 时,-s 指定用于通过密钥 ID 或序列号直接撤销证书的 CA 公钥文件的路径-U<>当与 -s 结合使用时,此选项表示 CA 密钥驻留在 ssh-agent 中-u<>更新 KRL。当使用 -k 指定时,通过命令行列出的键被添加到现有的 KRL,而不是创建新的 KRL。-V<>有效性间隔-v<详细模式>使 ssh-keygen 打印有关其进度的调试消息。这有助于调试模数生成。多个 -v 选项会增加详细程度。最大值为 3。-w<提供者>指定在创建 FIDO 身份验证器托管密钥时将使用的库路径,覆盖使用内部 USB HID 支持的默认设置。-y<>此选项将读取私有 OpenSSH 格式文件并将 OpenSSH 公钥打印到标准输出。-z<序列号>指定要嵌入证书中的序列号,以将此证书与来自同一 CA 的其他证书区分开来。如果序列号以“+”字符为前缀,则序列号将为在单个命令行上签名的每个证书递增。默认序列号为零。生成 KRL 时,-z 标志用于指定 KRL 版本号。-Z
指定在编写 OpenSSH 格式的私钥文件时用于加密的密码。可以使用“ssh -Q cipher”获取可用密码列表。默认为“aes256-ctr”。 示例 密码登录 ssh -l root 192.168.0.11 # or ssh root@192.168.0.11 不指定用户登录 ssh 192.168.0.11 免密登录 192.168.1.66主机想要通过ssh免密登录192.168.1.78主机,需要在两个主机上都创建公匙与密匙。并且把192.168.1.66的公匙存放在192.168.1.78主机上。 OS类型用户路径(默认)linux公匙文件root/root/.ssh/id_rsa.publinux公匙文件user ~/.ssh/id_rsa.publinux密匙文件root/root/.ssh/id_rsawindows公匙文件user_nameC:\Users\User\user_name\.ssh\id_rsa.pubwindows密匙文件user_nameC:\Users\User\user_name\.ssh\id_rsalinux密匙文件user~/.ssh/id_rsa 创建RSA密匙 这是没有任何参数的 ssh keygen 的默认行为。默认情况下,它创建 RSA 密钥对,将密钥存储在 ~/.ssh 目录下。请注意,它创建的文件名id_rsa为私钥,id_rsa.pub 为公钥。 [root@localhost ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "shoufeng" # ~密钥类型 ~密钥文件路径及名称 ~ 备注信息 Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): # 输入密码, 若不输入则直接回车 Enter same passphrase again: # 再次确认密码, 若不输入则直接回车 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 9a:e3:94:b9:69:c8:e9:68:4b:dc:fa:43:25:7f:53:f1 shoufeng The key's randomart image is: +--[ RSA 2048]----+ | | | . | | o | | . . . E | | + S. | | . .. .=o | | oo.oB. . | | ..o=o.+ | | .++oo+ | +-----------------+ 注意: 密钥的文件名称必须是id_xxx, 这里的xxx就是-t参数指定的密钥类型. 比如密钥类型是rsa, 那么密钥文件名就必须是id_rsa. 修改文件权限 chmod 600 /root/.ssh/id_rsa chmod 600 /root/.ssh/id_rsa.pub scp上传公匙 scp /root/.ssh/id_rsa.pub root@192.168.1.78:/root/.ssh/authorized_keys 注意: 如果192.168.1.78主机上的/root/.ssh/authorized_keys文件中存在其他主机的公匙,不要使用scp,否在会出现文件覆盖,删除已有的公匙。仅需把192.168.1.66的公匙添加到192.168.1.78主机上的/root/.ssh/authorized_keys文件中即可。 补充 将SSH密钥转换为不同的格式 默认情况下,由 ssh-keygen 生成的密钥将由 OpenSSH 实现使用。但是,如果要将这些密钥转换为 SSH 商业实现(例如:SSH2),请使用如下所示的 -e 选项。 # ssh-keygen -e Enter file in which the key is (/root/.ssh/id_rsa): ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "2048-bit RSA, converted from OpenSSH by root@devdb" AAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd 1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB zVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb y8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG lVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG F13U5slNgmCEekdt0amw== ---- END SSH2 PUBLIC KEY ---- 可以使用以下命令指定文件并将输出存储到其他文件。 # ssh-keygen -e -f /root/.ssh/id_rsa > /root/.ssh/id_rsa.ssh2 # cat /root/.ssh/id_rsa.ssh2 ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "2048-bit RSA, converted from OpenSSH by root@devdb" AAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSXylKd 1rjAjYXGnSXC9j2uaZlemHlptBKVziMJC86ha7Hcj6dVOVrDQ6vF4q34bOCjtKLphQ0IjB zVIvqILH9eLJdRaOrS34CmgmPaisrCk5wKVlakygvUfcj3HzaTKS6THyZDGx5shdTpa9lb y8tpOD3JceV7ay4w8r0DipoKPC0OLpvS4EABEeMo9sx8zQEaKv03XygjNCCYtFvxlQQIRG lVoL7mPaHSaL3anI05RpNbm/PS+9BhZg+BqNjU4ofHBbfkXk5MiN6M7ieR4Sk5BquccboG F13U5slNgmCEekdt0amw== ---- END SSH2 PUBLIC KEY ---- 搜索已知主机文件 您也可以使用 ssh-keygen 在 ~/.ssh/known_hosts 文件中搜索密钥。当known_hosts文件中有很多条目时,这很有用。 以下输出指示它在 #10 行的已知主机文件中找到了“dev-db”的条目。 # ssh-keygen -F dev-db # Host dev-db found: line 10 type RSA dev-db ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7QEcjRkbBWpwE7zIShobue9aEGyVObVHDLhK== 显示给定私钥的公钥 以下示例将显示默认 /root/.ssh/id_rsa 私钥的公钥。 # ssh-keygen -y Enter file in which the key is (/root/.ssh/id_rsa): ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5kSivOqhs0U9ZMN20nxFe27QZ3t0lT2zbH7OSX== 您还可以使用 -f 选项指定权限键。在此示例中,它将显示 ~/.ssh/id_dsa 私钥的公钥。 # ssh-keygen -y -f ~/.ssh/id_dsa ssh-dss AAAAB3NzaC1kc3MAAACBAIpmvehoOuFwJ5YHV+7BCrAinV0BZbkUvxkX8KK2prDmynhT== 错误 如果出现上述错误: 可能是B机之前存有A机的公匙,但是A机重新装系统了,需要把旧的公匙删除掉。然后手动复制A机地公匙文件到B机,注意需要修改文件名称为authorized_keys。当你用ssh连接到一个新的服务器的时候,ssh会让你确认服务器的信息(域名、IP、公钥),如果你确认了,就会写到known_hosts里。 参考 ssh-keygen 用法和命令 - Dirigent - 博客园 (cnblogs.com) Linux基础—— SSH免密登录 - 知乎 (zhihu.com) 如何在linux中安装ssh服务_linux安装ssh_沈信得的博客-CSDN博客 Linux安装以及ssh连接 - 简书 (jianshu.com) Linux的ssh监听多个端口 - 腾讯云开发者社区-腾讯云 (tencent.com) SSH服务配置_ssh配置_Liq1的博客-CSDN博客 Linux 安装SSH服务 (CentOS 7) (baidu.com) linux的SSH(远程登录)服务_linux ssh_芒地狠的博客-CSDN博客 linux之ssh命令详解_linux ssh_xiaokanfuchen86的博客-CSDN博客 linux ssh命令详解 (taodudu.cc)
上一篇
香港新世界机房服务器
下一篇
香港空间 专题
相关文章
阿里云虚拟机 怎么样
in10怎么打开控制面板
vps加拿大的节点怎么样
Ubuntu下Jupyter Notebook的安装与使用(服务器)
【DNS】配置dns主从服务器,能够实现正常的正反向解析
二级域名怎么样的
L5630双cpu服务器怎么样
ubuntu 22.04 服务器网卡无IP地址
IBM服务器指示灯报警说明
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.