网络协议-ssh基础
ssh连接
连接准备
- 客户端如果想要连接服务端并登录,首先需要在本地生成一对密钥(私钥和公钥)。其中
私钥文件: ~/.ssh/id_rsa
公钥文件: ~/.ssh/id_rsa.pub
- 然后将公钥写入服务端已认证的密钥文件内
已认证的密钥文件: ~/.ssh/authorized_keys
连接过程
- 客户端向服务端发起连接
- 服务端随机生成字符串A发送给客户端
- 客户端对该字符串使用私钥(~/.ssh/id_rsa)加密生成B,并发送给服务端
- 服务端使用公钥(~/.ssh/id_rsa.pub)对私钥加密的字符串B进行解密
- 服务端解密后的字符串和字符串A进行比对,如果一致,登录成功;否则,登录失败。
注意事项
- ssh登录时需确保客户端与服务端之间网络畅通,可使用ping命令进行测试
- 查看服务端是否限制指定IP通过sshd登录;其中黑白配置名单如下,白名单优先级高于黑名单
白名单:/etc/hosts.allow
黑名单:/etc/hosts.deny
- 检查服务端是否启用公钥认证, 配置为no为禁用,没有或yes都为启用
配置文件: /etc/ssh/sshd_config
PubkeyAuthentication yes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!