首页 > 其他分享 >利用ssh进行免密远程的配置

利用ssh进行免密远程的配置

时间:2024-08-05 15:18:53浏览次数:13  
标签:__ sshd 免密 service keys ssh 远程 authorized

利用ssh进行免密远程的配置

windows端

安装

方法一

windows+I打开设置, 进入系统,选择可选功能。 输入框中搜索openssh, 即可看到两个选项, 分别为OpenSSH Client与OpenSSH Server。 由于此电脑为被远程端, 则笔者选择了OpenSSH Server.

img

方法二

  1. 使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell 窗口。
  2. 通过命令Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'检查OpenSSH安装状态, 如果状态为Installed则为已安装, 否则未安装。
  3. 安装服务端命令为Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0, 客户端为Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

启动与配置

启动

  1. 使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell 窗口。
  2. 通过命令Set-Service -Name sshd -StartupType 'Automatic'设置sshd服务开机启动
  3. 通过命令Start-Service sshd启动sshd服务
  4. 查看当前sshd服务监听端口netstat -an | findstr /i ":22"

配置

  1. 通常配置在C:\ProgramData\ssh目录下的sshd_config文件中, 通过文本编辑器打开
  2. 如果想通过公私钥免密登录, 则需取消PubkeyAuthentication yes注释, 并修改PasswordAuthenticationno
  3. 可以在配置文件中看到AuthorizedKeysFile=.ssh/authorized_keys, 表明客户端受认证的公钥存储在这个文件, 如果不存在则创建。 所以打开目录C:\Users\用户名\.ssh, 创建authorized_keys, 把客户端同目录下的id_rsa.pub文件内容拷贝到创建authorized_keys文件中。
  4. 重启服务:Restart-Service sshd
  5. 笔者配置到这以为就可以免密登录了,客户端登录,结果报错Permission denied(publickey,password)
  6. 第3步骤缺少一个配置就是一定要注释掉关键两行:Match Group administratorsAuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
  7. 修改后重启服务再登录就ok了

大概配置如下:

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile	.ssh/authorized_keys

#AuthorizedPrincipalsFile none

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

linux端

安装

sudo apt install openssh-server

启动与配置

启动

systemctl 方式

# 启动
sudo systemctl start sshd.service

# 重启
sudo systemctl start sshd.service

# 停止
sudo systemctl stop sshd.service

# 状态
sudo systemctl status sshd.service

service方式

# 启动
sudo service sshd start

# 重启
sudo service sshd restart

# 停止
sudo service sshd stop

# 状态
sudo service sshd status

配置

  1. 配置文件通常位于/etc/ssh/sshd_config
  2. 免密配置基本与windows相同
  3. 创建了authorized_keys文件后需要修改权限, 否则连接报错。 修改权限命令chmod 600 ~/.ssh/authorized_keys

客户端配置

  1. 通过ssh-keygen -t rsa生成公私钥, 通常在用户目录下的.ssh目录下生成公私钥文件id_rsaid_rsa.pub
  2. 将公钥内容复制到服务器同级目录的authorized_keys文件中

标签:__,sshd,免密,service,keys,ssh,远程,authorized
From: https://www.cnblogs.com/quenwaz/p/18343272

相关文章

  • git本地分支映射远程分支并推送相应代码
    在Git中,克隆仓库默认只会检出`master`分支(或`main`分支,取决于仓库的默认分支配置)。如果你想切换到不同的远程分支,可以按照以下步骤操作:1.**克隆仓库**(如果尚未克隆):```bashgitclone<repository-url>```这将克隆仓库并检出默认分支。2.**查看所有远程分支**:```ba......
  • VSCode 远程容器默认 python 解释器
    我有一个dockerfile来创建一个带有miniconda的容器并安装一些软件包(此处已修剪):FROMcontinuumio/miniconda3:4.11.0#installthenecessarypackagesRUNcondainstall-cconda-forgepython=3.10.4\ipykernel=6.13.0\numpy=1.22.3ENVAPP_DIR/appWORKDIR......
  • 无缝编码体验:在PyCharm中高效使用远程文件编辑功能
    标题:无缝编码体验:在PyCharm中高效使用远程文件编辑功能引言PyCharm作为业界领先的集成开发环境(IDE),提供了强大的本地和远程开发功能。其中,远程文件编辑功能允许开发者直接在PyCharm中编辑存储在远程服务器上的文件,极大地提高了开发效率和便捷性。本文将详细介绍如何在PyCha......
  • ubuntu22.04容器安装ssh服务
    除了特别说明外,否则以下命令均为ubuntu22.04容器内执行!!!安装查看ubuntu22.04有没有安装openssh-server,执行命令:sudodpkg--list|grepssh没有找到openssh-server的包,很显然,没有安装,那么就开始安装,执行:sudoaptinstallopenssh-server安装完成后,通过上图相关的包已经......
  • SSH配置命令
    前置环境:端口配置IP地址,client和server之间可ping通,此处省略server端:开启stelnet[Huawei]stelnetserverenableInfo:SucceededinstartingtheStelnetserver.aaa模式相关配置#进入aaa模式[Huawei]aaa#添加用户admin和密码huawei[Huawei-aaa]local-useradminp......
  • github添加ssh密钥,通过ssh方式推送代码
    左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。公众号:一点sir,关注领取python编程资料很多人在使用github的时候,如果还是使用https的方式推送代码的话,可能会发现推送不上去,官方会建议你使用ssh的方式进行代码推送。通过ssh方式推送代码,速度更快,更高效,而且还不用......
  • 1388、STM32单片机心率(脉搏)MAX30102血氧体温检测阈值报警无线蓝牙远程(程序+原理图+
    毕设帮助、开题指导、技术解答(有偿)见文未 目录方案选择单片机的选择显示器选择方案一、设计功能二、实物图三、原理图四、程序源码五、PCB图六、proteus仿真程序流程图:原理图文字讲解:参考论文:资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩......
  • 1386、STM32单片机心率(脉搏)体温检测阈值设置报警无线蓝牙远程设计(程序+原理图+PCB
    毕设帮助、开题指导、技术解答(有偿)见文未 目录方案选择单片机的选择显示器选择方案一、设计功能二、实物图三、原理图四、程序源码五、PCB图六、proteus仿真程序流程图:原理图文字讲解:参考论文:资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩......
  • SSH访问控制:精确管理你的服务器门户
    “在数字世界中,服务器的安全性是任何网络管理员的首要任务。特别是对于远程登录协议如SSH,确保只有授权用户可以访问是至关重要的。今天,记录两种有效的方法来控制用户对特定服务器的访问:通过sshd_config实现黑/白名单机制和利用DenyHosts工具。让咱们深入了解这些策略,......
  • iTerm2配置ssh的免输入密码连接
    第一步    打开iTerm2,选择ITerm2->Settings进入设置页面后,点击Profiles,进入Profiles页面进入Profiles页面后点击+号,创建一个新的Profiles配置对新建的Profiles进行配置修改Name:主要是为了好区分不同的Profiles配置Command:这里有四个选项LoginShell、Comman......