Linux-SSH 使用说明 配置密钥登录

转至:Linux-SSH密钥配置 - SuperScfan - 博客园 (cnblogs.com)

Linux-SSH 使用说明

 

 

简介

SSH(远程连接工具)连接原理:ssh 服务是一个守护进程(demon),系统后台监听客户端的连接,ssh 服务端的进程名为 sshd,负责实时监听客户端的请求(IP 22 端口),包括公共秘钥等交换等信息。ssh 服务端由 2 部分组成: openssh(提供 ssh 服务)    openssl(提供加密的程序)ssh 的客户端可以用 XSHELL,Securecrt, Mobaxterm 等工具进行连接

功能模块-配置 SSH 免密码登录

配置1:ssh免密钥登录设置
客户端配置 – 服务器1
1.查看~/.ssh文件夹,若已经存在有公钥文件(id_rsa.pub),私钥文件(id_rsa),则可以跳过客户端配置.
2.生成密钥文件.
$ ssh-keygen
然后一路回车.
然后~/.ssh下会生成id_rsa.pub和id_rsa, 其中id_rsa文件起到唯一标识你的客户机的作用.
注意:不要改这两个文件的文件名,ssh登陆时会读取id_rsa文件.
# 服务器配置 – 服务器2
1.修改sshd配置文件(/etc/ssh/sshd_config).
找到以下内容,并去掉注释符”#“
=========================
  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile  .ssh/authorized_keys
=========================
2.配置authorized_keys文件.
若’~/.ssh/authorized_keys’不存在,则建立.ssh文件夹和authorized_keys文件.
将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.
注意:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
3.重启sshd.
$ /etc/init.d/sshd restart  # 非必需
# 测试
客户机执行:ssh -v user@host (-v 调试模式)
会显示一些登陆信息.

# 关键命令
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
/etc/init.d/sshd restart # 非必需

功能模块-只允许密钥登录(禁用密码登录)

为了服务器主机安全,需要设定密钥登录,并且指定 root 不可远程登录。

 

 

步骤 1:生成客户端密钥

生成密钥方式有如下两种:

  • Linux 主机
  • Win 主机-Xshell 软件

步骤 2:添加密钥到服务端

将 id_rsa.pub 中内容复制到 ~/.ssh/authorized_keys

步骤 3:修改服务端配置文件

配置文件修改后生效,需要重启服务
配置文件:/etc/ssh/sshd_config
重启服务:service sshd restart 或 /bin/systemctl restart sshd.service

开启密钥登录

RSAAuthentication yes # 启用 RSA 认证  # 非必需修改,不存在时不创建不修改。
PubkeyAuthentication yes # 启用公钥私钥配对认证方式

禁止 root 远程登录

PermitRootLogin yes # 禁止 root 远程登录

关闭密码登陆方式

PasswordAuthentication no
ChallengeResponseAuthentication no

修改完成后重启服务

/bin/systemctl restart sshd.service

SSH 配置文件

常用配置项说明:


SSH 客户端配置文件: /etc/ssh/ssh_config

[root@WOM ~]# cat  /etc/ssh/ssh_config
#   $OpenBSD: ssh_config,v 1.25 2009/02/17 01:28:32 djm Exp $

SSH 服务端配置文件: /etc/ssh/sshd_config

[root@WOM ~]# cat  /etc/ssh/sshd_config
#   $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $

注:

如果登陆失败,请检查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否为yes。

如果验证成功的话就可以关闭密码登陆方式了,编辑/etc/ssh/sshd_config,将PasswordAuthentication改为no,ChallengeResponseAuthentication改为no,不过需要重启sshd(service sshd restart)后才能生效。

什么用户就在什么用户文件夹下的.ssh/里 文件夹权限700 文件权限600

拒绝密钥可能是密钥太长 

 

 

RSAAuthentication yes # 启用 RSA 认证    # 非必需修改,不存在时不创建不修改。
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
PermitRootLogin yes # 禁止root远程登录



posted @ 2023-11-23 14:28  酒哥-颢远  阅读(381)  评论(0)    收藏  举报