之后一般会需要几分钟重启服务器,显示重置密码中。
按照百度云官方操作步骤是这样的
但是呢,按照以上的操作之后,始终连不上,总是提示“用户秘钥未在远程主机注册”。
根据错误提示,判断问题应该是公钥没在服务器上注册。有两种方法可以尝试:
1、通过管理后台的秘钥对管理——创建秘钥对——使用已有的公钥——将上一步创建的公钥内容粘贴进去,然后在绑定服务器实例即可。
但是通过以上操作之后,仍然连不上。
2、尝试第二种方法,直接将ssh公钥都追加到authorized_keys文件。
先通过用户名和密码登陆服务器,
然后编辑.ssh/authorized_keys 文件。
进入后,将前面创建的公钥粘贴进去。
再连接,成功!
ssh 提供两种级别的安全认证:
需要知道用户名和密码即可登录,该连接是加密的,但客户端不能确认目标主机是否为“伪造的”,也不能保证口令安全。
远程主机的 /etc/ssh/sshd_config 需配置:
重启 sshd 使改动生效:
需要用户持有“公钥/私钥对”,远程服务器持有公钥,本地持有私钥。
客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。
生成 ssh-key,选加密算法(rsa、dsa),给秘钥命名(可选):
passphrase 是证书口令,以加强安全性,避免证书被恶意复制。
会在 ~.ssh 下生成 id_rsa , id_rsa.pub 两个文件,分别是 私钥/公钥。
公钥需保存到远程服务器 ~/.ssh/authorized_keys 里,私钥由客户端本地留存。
要保证 .ssh 和 authorized_keys 都只有用户自己有写权限。否则验证无效。
简单情况下,通过手动指定私钥文件登录
觉得麻烦可以配置客户端的 /etc/ssh/ssh_config
你也可以使用 SSH Agent,下面以使用 GitHub 为场景简单介绍。
创建 ~/.ssh/config
配置完成后,在连接非默认账号的仓库时,远端地址要修改为
1.1 如果在你本机电脑主目录内 不存在 隐藏文件夹 .ssh 的情况下输入命令: ssh-keygen -t rsa 不需要输入任何内容,连续三下回车确认。
1.2 进入 .ssh 文件夹 , 输入 ls -l 可以看到 id_rsa 和 id_rsa.pub 两个文件
1.3 创建config文件,输入:touch config
1.4 配置公钥免登陆 , 先通过密码的方式登录到你的服务器主机上。然后将你本机文件 ~.ssh/id_rsa.pub 里面的内容复制 并粘贴到 目标服务器主机的 ~.ssh/authorized_keys 文件内 , 如果没有 authorized_keys 可以使用 touch authorized_keys 创建一个。至此准备阶段完毕~~
2.1 配置文件参数
Host : 可以看作是一个你要识别的名称,对识别的名称,进行配置对应的的主机名和ssh文件
HostName : 要登录主机的IP地址、或者域名
User : 登录名
port : 端口
IdentityFile : 指明上面User对应的identityFile路径 也就是 私钥的路径
ProxyCommand : 代理命令(不常用) , 通俗解释: 就是当你连接上目标服务器后,首先执行的命令
** 2.2 用例参考 **
# aliyun 独行浪子
Host rizhifuwuqi # 设置名称为 duxinglangzi
HostName 39.104.110.110 配置目标主机IP 也可以是域名
User root
port 22
IdentityFile ~/.ssh/id_rsa 私钥的路径
ProxyCommand tail -f /backend/logs/info.log 表示登录目标主机后,执行此命令查看日志
在终端(terminal) 输入 :ssh rizhifuwuqi
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)