使用密钥登陆SSH的方法

在板子上移植SSHD终于成功了,用的是密码登陆,但为了发挥SSH应有的作用,决定尝试一下用密钥登陆,以下为记录,做个备份:

1.先在ubuntu上ssh开发板

a.生成公私密钥对

ssh-keygen -t dsa

参数-t指定密钥类型,对于ssh1来说,类型为rsa1,对于ssh2来说,类型有rsa,dsa,ecdsa.

生成密钥的过程中会寻问保存密钥的位置和密码短语,默认为用户主目录下的.ssh目录下,密码短语不能小于5个字符。

b.进入.ssh目录看一下刚才生成的密钥对


c.将id_dsa.pub传送到远程主机止

ssh-copy-id [-i [identity_file]] [user@]machine

ssh-copy-id会在远程主机的用户主目录下建立文件.ssh/authorrized,并把authorized_keys的权限设置为600

传送时提示Permission denied,更改远程主机上用户主目录下权限为777,即可上传。



好了,现在可以试试无密码登陆了

ssh lixianfeng@192.168.0.200 -v

但是登陆还是要密码,查看的log,好像是rsa,dsa,ecdsa都没有验证通过,那是什么原因导致验证不通过?rsa,和dsa都试过,还是不行。



在开发板上查看log,发现有如下信息和用户目录相关,它好像是说此目录有问题,难道又是权限问题?

cat /var/log/message

Server listening on 0.0.0.0 port 22.
Authentication refused: bad ownership or modes for directory /home/lixianfeng
Authentication refused: bad ownership or modes for directory /home/lixianfeng

那改个权限试试

chmod 755 lixianfeng

再试

ssh lixianfeng@192.168.0.200 -v

奇迹发生了,终于可以登陆了,看来还是对于SSH来说,权限太严了!折腾了一晚上了。


刚才又看了一下,这前用ssh-copy-id之所以失败,是因为此目录的拥有者为root,将其拥有都及所属组都更改成此用户即可。

 chown -R lixianfeng:lixianfeng lixianfeng




### 使用 Xshell 通过 SSH 密钥认证登录指南 #### 准备工作 为了实现基于 SSH 密钥的身份验证,需要先创建一对公私钥文件。如果尚未生成密钥对,则可以使用 `ssh-keygen` 工具完成此操作[^1]。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会生成默认路径下的两个文件: - 私钥文件:~/.ssh/id_rsa - 公钥文件:~/.ssh/id_rsa.pub 将公钥复制到目标服务器上的 `~/.ssh/authorized_keys` 文件中: ```bash ssh-copy-id user@remote_host ``` 或者手动编辑远程用户的 `.ssh/authorized_keys` 文件并粘贴公钥内容。 --- #### 配置 Xshell 进行 SSH 密钥登录 ##### 打开 Xshell 并新建连接 启动 Xshell 后,在主界面点击 **New** 创建一个新的会话配置窗口。 ##### 设置基本参数 在弹出的对话框中输入以下信息: - Protocol: SSH - Host: 输入目标服务器地址(IP 或域名) - Port: 默认为 22(除非更改过) 完成后命名该会话并保存设置。 ##### 添加身份验证方式 双击刚刚创建的会话进入高级选项页面。导航至 **User Authentication → Public Key** 菜单下启用公共密钥认证功能。 ###### 加载本地私钥 点击右侧按钮浏览定位到之前生成好的私钥文件位置 (~/.ssh/id_rsa),加载成功后确认无误即可返回上级菜单继续调整其他必要项比如超时时间等个性化需求设定完毕后再尝试连接测试一下整个流程是否顺畅运行正常结束全部步骤。 注意确保权限正确分配给.ssh目录及其内部所有子项目均需满足严格读写控制标准以保障安全性避免潜在风险隐患发生影响正常使用体验效果最佳实践建议如下所示: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/* ``` --- #### 测试连接 当一切准备就绪之后再次激活刚才建立起来的新链接看看能否顺利跳转过去而无需再额外提供密码交互过程即代表已经成功实现了免密自动化的高效便捷访问机制大大提升了工作效率同时也增强了系统的整体防护水平减少了人为失误带来的不确定性因素干扰可能性降到最低限度范围内达到理想状态为止才算圆满完成任务指标要求范围之内合理合法合规合情理范畴之内的解决方案才是最值得推荐采纳实施推广普及应用广泛接受认可度较高的优质选择之一罢了而已啦呵呵哒~ --- ### 注意事项 确保防火墙允许来自客户端设备端口的数据流入以及SELinux策略不会阻止SSH服务运作情况良好运转平稳有序进行下去就不会出现问题困扰我们大家共同进步成长吧朋友们加油哦😊! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值