scp/ssh连接时显示权限错误 Permission denied (publickey). lost connection

        上周遇到诡异的问题,ssh/scp连接另一个linux时显示权限问题,一直没找到合适的解决方案,总结下。

        ssh/scp设置秘钥登录可以省略输入密码的部分,假设需要设置A主机免密登录B主机,设置步骤如下:

        ①在A主机上,ssh-keygen -t rsa  连续按回车(如果你之前生成过秘钥,可能会存在按Y/N的选项,正常选择就好)

        ②在A主机上,使用sz  rz将~/.ssh目录下生成的id_rsa.pub公钥文件放到B主机的~/.ssh/authorized_keys文件下。

                  可以使用 ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.1  如果ssh不能登录的话,那就手动拷贝过去,没有authorized_keys则自己创建一个。这里需要注意一个小细节,注意下换行,有可能复制过去一行内容就变成了三行,那么登录肯定会不成功。最简单的测试方法,使用光标移动,如果复制过去的内容即时显示了三行,但是只能移动一次,那他就是一行内容,是正确的的。

        ③在双端主机上,ls -al ~/.ssh  将~/.ssh权限修改为700,将authorized_keys权限修改为600

        如果此时还报错 Permission denied (publickey). lost connection ,错误我总结了几个:

        一、可以检查一下,上述步骤是否正确,我的错误原因是因为:

        其他这串秘钥是一行内容,拷贝过去自动换行,变成了三行,修改方法就改成一行就可以了。

        二、登录远程主机,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes,然后重启sshd服务:systemctl restart ssh.service

        三、我遇到一个特别奇怪的问题,我拷贝的.ssh/authorized_keys目录文件,原本有两行公钥,但是每隔大约十分钟就被删除了第二行,也就是说每次拷贝,只能使用一小会,就又得重新拷贝。这个问题还没有解决。

        更新一版-------------------------- 上边那个没有解决的问题已经解决了,是公司安全部门的同步策略,隔一段时间会同步一次。而且如果本地可以连接到B主机,并且用的秘钥登录的话,不用在A主机上再次生成秘钥,直接使用本地的私钥从A登录B即可。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在使用SSH连接到远程服务器,出现"ubuntu@172.31.34.230: Permission denied (publickey). lost connection"的错误提示,这通常是由于SSH登录过程中的权限问题所引起的。 首先,这个错误提示表明你在连接使用的密钥认证方式被服务器拒绝了。一种解决方法是检查你的密钥文件是否正确配置并且已经添加到服务器的授权密钥列表中。你可以使用以下命令将你的公钥文件(id_rsa.pub)复制到服务器的`/home/user001/.ssh/authorized_keys`文件中: ``` scp id_rsa.pub user001@serverName:/home/user001/.ssh/authorized_keys ``` 确保你已将`user001`替换为你在服务器上的用户名,`serverName`替换为服务器的地址。 另外,你还可以检查服务器上的SSH登录设置,确保你的账号已经添加到了登录白名单中。你可以通过编辑`/etc/pam.d/sshd`文件,添加以下行来设置SSH白名单登录: ``` auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail ``` 然后,将需要登录的账号添加到`/etc/sshusers`文件中。 最后,如果你仍然遇到连接问题,你可以尝试修改服务器上的权限设置。在Linux系统中,你可以使用`chmod`命令来更改文件和目录的权限。如果你遇到"Permission Denied"错误,可以尝试使用以下命令将文件或目录的权限设置为777: ``` chmod 777 <file_or_directory> ``` 请注意,在设置文件或目录权限,要小心保护服务器的安全性,只将必要的权限授予相应的文件或目录。 综上所述,要解决"ubuntu@172.31.34.230: Permission denied (publickey). lost connection"错误,你可以检查密钥认证、SSH登录设置、文件/目录权限等方面,并根据需要进行相应的修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [工作中使用到的单词(软件开发)_2023_0316备份](https://blog.csdn.net/sxzlc/article/details/129581634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值