Linux 中的 ssh 命令及示例
ssh代表“安全外壳” 。它是一种用于安全连接到远程服务器/系统的协议。 ssh 是安全的,因为它在主机和客户端之间以加密形式传输数据。它将输入从客户端传输到主机并将输出中继回。 ssh 在 TCP/IP 端口 22 上运行。
句法:
ssh user_name@host(IP/Domain_name)
示例:使用 ssh 通过 windows10 命令提示符访问 ubuntu 机器
ssh 命令由 3 个不同的部分组成:
- ssh 命令指示系统与主机建立加密的安全连接。
- user_name表示正在主机上访问的帐户。
- 主机是指被访问的机器,可以是计算机或路由器。它可以是 IP 地址(例如 192.168.1.24)或域名(例如 www.domainname.com)。
注意:登录主机后,命令将像直接写入主机终端一样工作。与使用密码相比,使用公私密钥对或 SSH 密钥对登录远程主机更安全。要生成公私密钥,请使用以下命令:
ssh-keygen
私钥必须保持隐藏,而公钥必须复制到远程主机。将公钥复制到远程主机后,将使用 SSH 密钥而不是密码建立连接。
选项:
- -1 :强制 ssh 仅使用协议 SSH-1。
- -2 :强制 ssh 仅使用协议 SSH-2。
- -4 :仅允许 IPv4 地址。
- -6 :仅允许 IPv6 地址。
- -A :启用身份验证代理连接转发。
- -a :身份验证代理连接转发被禁用。
- -C :压缩所有数据(包括 stdin、stdout、stderr 以及转发 X11 和 TCP 连接的数据)以加快数据传输速度。
- -f :在命令执行之前请求 ssh 进入后台。
- -g :允许远程主机连接到本地转发端口。
- -n :防止从标准输入读取。
- -p port_number :要连接到远程主机上的端口。
- -q :禁止所有错误和警告
- -V :显示版本号。
- -v :详细模式。它在建立连接时呼应它所做的一切。在调试连接失败时非常有用
- -X :启用 X11 转发(GUI 转发)。
- -c cipher_spec :选择加密会话的密码规范。只有客户端和服务器都支持时才会选择特定的密码算法。
由于数据加密,SSH 比其他协议(如 telnet)安全得多。 SSH 使用三种主要的加密技术:
- 对称加密:这种加密的工作原理是生成用于加密和解密数据的单个密钥。生成的密钥在客户端和主机之间分发,以实现安全连接。对称加密是最基本的加密,在单台机器上加密和解密数据时性能最佳。
- 非对称加密:这种加密更安全,因为它生成两个不同的密钥:公钥和私钥。公钥分发到不同的主机,而私钥安全地保存在客户端机器上。使用此公钥-私钥对建立安全连接。
- 散列:单向散列是一种身份验证技术,可确保接收到的数据未经更改且来自真正的发件人。散列函数用于从数据生成散列码。不可能从哈希值中重新生成数据。散列值在发送方和接收方计算。如果哈希值匹配,则数据是真实的。