当前位置:   article > 正文

ssh配置远程免密登录以及遇到的各种问题解决方法_ssh免登录配置

ssh免登录配置

Background

首先说下,为什么网上相关经验已经多如牛毛,我还要自己再写呢?
起因是自己配置的时候,去网上找了好多篇经验,很多基本都是一个思路,只是贴步骤,只知其然,不知其所以然,试了好多篇也没成功。
自己总结下,以后自己使用方便。

1、实现目标

  • 当我们需要远程登录一台linux服务器时,通常使用ssh(基于openssh),一般都默认装的有吧,没有先安装这个服务,这个就像向日葵一样。
  • 使用ssh一般默认需要输入密码
  • 我们就是为了实现免密登录,即ssh远程登录某台服务器时不再输入密码。所以我们需要事先和这台服务器配置免密登录。

2、实现思路

  • ssh-keygen是为ssh生成、管理和转换认证密钥的工具,它支持rsa和dsa两种认证密钥,默认rsa加密。
  • 首先需要修改你要远程免密登录的目标服务器的远程连接配置sshd_config
  • 使用ssh-keygen生成公钥和私钥文件(默认在 ~/.ssh 目录,id_rsa.pub文件是公钥文件,另一个id_rsa是私钥文件)。
  • 然后使用ssh-copy-id把生成的公钥拷贝到你要远程免密登录的目标服务器上。就可以了。

3、实现步骤

这里以本机wlf远程连接yl-test为目标服务器(root用户)进行示例说明。

  • 修改目标服务器yl-test的配置文件 /etc/ssh/sshd_config
# 允许root账户远程登录
PermitRootLogin yes

# 关闭严模式
StrictModes no

# 允许密钥登录
RSAAuthentication yes
PubkeyAuthentication yes

# 公钥数据存放文件
AuthorizedKeysFile      .ssh/authorized_keys
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 重启yl-test的sshd服务
systemctl restart sshd.service
  • 1
  • 在本机wlf(我这里是window,使用的git bash)生成密钥(四次回车即可)
ssh-keygen
  • 1
  • 在本机wlf拷贝公钥到目标服务器
ssh-copy-id root@yl-test
  • 1
  • 在本机wlf远程免密登录测试(直接登录上了,不需要输入密码算是成功)
ssh root@yl-test
  • 1

4、注意

  • 使用下面的命令可以查看远程连接时的详细信息。
# 在服务器端
tail -f /var/log/secure
  • 1
  • 2
# 在客户端
ssh -vvv remote_user@remote_ip
  • 1
  • 2
  • 如果在拷贝公钥过程中出现“Agent admitted failure to sign using the key”异常,执行如下命令
ssh-add ~/.ssh/id_rsa
  • 1
  • 如果遇到文件权限问题,如下图所示,执行下面的命令修改文件权限。
    在这里插入图片描述
chmod 600 /root/
chmod 700 /root/.ssh/
  • 1
  • 2

ssh相关问题汇总

1、ssh远程登录缓慢问题
  • 修改配置文件 /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
  • 1
  • 2
  • 重启sshd服务
service sshd restart
  • 1
2、
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/187641
推荐阅读
相关标签
  

闽ICP备14008679号