SSH:修订间差异

无编辑摘要
无编辑摘要
第5行: 第5行:
==简介==
==简介==
===时间轴===
===时间轴===
==SSH登录==
===密码登录===
===密钥登录===
*生成公钥和私钥。在本地电脑使用<code>ssh-keygen</code>命令,默认使用rsa算法。输入命令后第一次询问保存位置,回车保存默认位置即可。第二询问钥保护密码,可以输入密码或回车不设置密码,如果设置登录时需要提供私钥和私钥保护密码。
<syntaxhighlight lang="bash">
ssh-keygen
</syntaxhighlight>
* 将公钥放到服务器用户目录下~/.ssh/authorized_keys 文件。
<syntaxhighlight lang="bash">
#服务器在用户目录下创建.ssh
mkdir .ssh
#将本地生成的公钥id_rsa.pub复制到服务器authorized_keys
scp C:\Users\username/.ssh/id_rsa.pub user2@46.100.162.172:/home/user2/.ssh/authorized_keys
</syntaxhighlight>
*禁止用密码登录。修改服务器 sshd 的配置文件。
<syntaxhighlight lang="bash">
# 使用vim编辑器修改
sudo vim /etc/ssh/sshd_config
#将PasswordAuthentication修改为no,按esc键及:wq键保存退出
PasswordAuthentication no
#重启ssh服务
service ssh restart
</syntaxhighlight>


==客户端软件==
==客户端软件==
第40行: 第71行:
*[https://help.aliyun.com/document_detail/53019.html 阿里云文档:SSH密钥对]
*[https://help.aliyun.com/document_detail/53019.html 阿里云文档:SSH密钥对]
*[https://help.aliyun.com/document_detail/51798.htm 阿里云文档:通过密钥认证登录Linux实例]
*[https://help.aliyun.com/document_detail/51798.htm 阿里云文档:通过密钥认证登录Linux实例]
*[https://wangdoc.com/ssh/index.html 网道:SSH教程]
*[https://git-scm.com/book/zh/v2/服务器上的-Git-生成-SSH-公钥 《Pro Git》:4.3 服务器上的 Git - 生成 SSH 公钥]
===文章===
===文章===
*[https://zh.wikipedia.org/zh-cn/Secure_Shell 维基百科:Secure Shell]
*[https://zh.wikipedia.org/zh-cn/Secure_Shell 维基百科:Secure Shell]

2021年9月11日 (六) 19:35的版本

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。

在设计上,SSH是Telnet和非安全shell的替代品。Telnet和Berkeley rlogin、rsh、rexec等协议采用明文传输,使用不可靠的密码,容易遭到监听、嗅探和中间人攻击。SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。不过,SSH也被指出有被嗅探甚至解密的漏洞。

简介

时间轴

SSH登录

密码登录

密钥登录

  • 生成公钥和私钥。在本地电脑使用ssh-keygen命令,默认使用rsa算法。输入命令后第一次询问保存位置,回车保存默认位置即可。第二询问钥保护密码,可以输入密码或回车不设置密码,如果设置登录时需要提供私钥和私钥保护密码。
ssh-keygen
  • 将公钥放到服务器用户目录下~/.ssh/authorized_keys 文件。
#服务器在用户目录下创建.ssh
mkdir .ssh

#将本地生成的公钥id_rsa.pub复制到服务器authorized_keys
scp C:\Users\username/.ssh/id_rsa.pub user2@46.100.162.172:/home/user2/.ssh/authorized_keys
  • 禁止用密码登录。修改服务器 sshd 的配置文件。
# 使用vim编辑器修改
sudo vim /etc/ssh/sshd_config

#将PasswordAuthentication修改为no,按esc键及:wq键保存退出
PasswordAuthentication no

#重启ssh服务
service ssh restart


客户端软件

名称 支持系统 描述 官网
PuTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/
XShell https://www.netsarang.com/zh/xshell/

常见问题

  • 首次登录时出现“所选的用户密钥未在远程主机上注册”。

可以在服务器上查看密钥的指纹,对比两者是否相同,防止受到中间人攻击。

# 列出服务器ssh密钥文件
ls -al /etc/ssh/*pub

# 查看rsa密钥指纹
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub | awk '{print $2}'

资源

相关网站

文章