服务器免密登录的实现以及异常解决方案
当我们在现在创建测试用Linux服务器或者服务器集群的时候,需要通过终端连接自己创建的服务器。
实现步骤分为2步:
1、生成SSH Key;
2、覆盖authorized_keys文件
1、生成SSH Key
我们看到生成了以上一些列文件。
2、覆盖authorized_keys文件
因为authorized_keys文件中存储某个ssh key的公钥。如果不覆盖的话,就只能使用这个公钥登录了。不知道理解的对不对。欢迎指正。
3、配置无效,还是需要输入密码的解决方案
但是,很多人在这样配置之后还是会登录不上,也会要求输入密码,原因是如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。
建议做如下配置:
.ssh文件夹的权限设置成700,只允许本用户和root用户具有可读、可写、可执行权限。
<span style="font-size:14px;">chmod 700 .ssh</span>
.ssh/authorized_keys设置成只允许可读,可写权限。
<span style="font-size:14px;">chmod .ssh/autoorized_keys 600</span>
经过以上3步的操作,相信大家的服务器都可以免密登录了。
以上所述是小编给大家介绍的服务器免密登录的实现以及异常解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Shell脚本实现自动输入密码登录服务器
使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp.ssh连接远程主机等等,如下图: 那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧. 针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是
-
解决 phpmyadmin #2002 无法登录 MySQL 服务器
解决 .#2002 无法登录 MySQL 服务器 将config.sample.inc.php复制成config.inc.php 出现这个错误,表示没有连接到数据库.修改config.inc.php文件, 复制代码 代码如下: 将$cfg['Servers'][$i]['host'] = 'localhost'; 改为$cfg['Servers'][$i]['host'] = '127.0.0.1'; 或者 修改 php.ini : mysql.default_socket = /tmp/mys
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
通过phpmyadmin连接mysql数据库时提示:"2003 无法登录 MySQL服务器"...很明显这是没有启动mysql服务,右击我的电脑-管理-找到服务,找到mysql启动一下,,是不是启动有报错: "无法启动mysql服务 错误1067:进程意外中止 " 然后就baidu google吧,多是说禁远程连接,要改my.ini文件,也有说防火墙的,总之对症下药. 不过同样的报错,导致它的原因并不是都是同样的.这就是看自己的经验和对问题的钻研了,好了不多 说了,
-
使用xp_cmdshell注销Windows登录用户(终端服务器超出最大连接数)
公司日常项目更新使用TFP,服务器一般维护用远程桌面管理,所以经常登录到服务器, 但有时由于某种原因,登录到服务器后,帐号没有及时注销,致使后面无法登录到服务器, 显示错误如 出现这样的问题还真麻烦,跑机房光手续都要两三天才能搞好.还好公司一直保留有Sa帐号, 这就好办了,用SQL注销一个Windows登录用户即可. 首先打开xp_cmdshell--执行XP_CMDSHELL要开启xp_cmdshellEXEC sp_configure 'show advanced options', 1RE
-
用expect实现ssh自动登录服务器并进行批量管理的实现方法
shell代码: 复制代码 代码如下: #!/usr/local/bin/expectset PASSWD [lindex $argv 1]set IP [lindex $argv 0]set CMD [lindex $argv 2]spawn ssh $IP $CMDexpect "(yes/no)?" {send "yesr"expect "password:"send "$PASSWDr"} "pass
-
paramiko模块安装和使用(远程登录服务器)
一:简介 由paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一. 举个常见的例子,现有这样的需求:需要使用windows客户端,远程连接到
-
ubuntu16.04服务器配置ssh免密码登录
在客户端操作 ssh-keygen -t rsa 文件位置写/home/try/.ssh/server_rsa,不使用默认值,我命名为server_rsa担心影响到git的key(因为我的git使用的是默认值) ssh-copy-id root@123.45.56.78(你的服务器ip), 或这使用 cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >> ~/.ssh/autho
-
服务器免密登录的实现以及异常解决方案
当我们在现在创建测试用Linux服务器或者服务器集群的时候,需要通过终端连接自己创建的服务器. 实现步骤分为2步: 1.生成SSH Key: 2.覆盖authorized_keys文件 1.生成SSH Key 我们看到生成了以上一些列文件. 2.覆盖authorized_keys文件 因为authorized_keys文件中存储某个ssh key的公钥.如果不覆盖的话,就只能使用这个公钥登录了.不知道理解的对不对.欢迎指正. 3.配置无效,还是需要输入密码的解决方案 但是,很多人在这样配置之后还
-
详解Java使用Jsch与sftp服务器实现ssh免密登录
一.什么是SFTP? SFTP是一个安全文件传送协议,可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SFTP是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的.但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP. 二.什么是Jsch以及它的作用? Jsch是一个纯粹的用java实现SSH功能的java library.如果要知道Jsch的功
-
Shell自动化配置SSH免密登录和取消SSH免密配置脚本
目录 1. 前文 2.实现代码 3. 使用方法 4. 使用注意 1. 前文 搭建了一套有多台主机的局域网环境,不完全考虑安全性的情况下,为方便管理局域网内主机,配置SSH免密登录,因主机较多,前阵子针对配置ssh免密和取消ssh免密功能单独写了脚本来自动化批量部署,现把两个功能封装在一起做成交互式程序 2.实现代码 #!/bin/bash #Author:cosann #Version:0.2 #date:2022/7/27 #description:批量部署SSH免密登录脚本 E_ERROR=
-
Linux 配置SSH免密登录 “ssh-keygen”的基本用法
1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题. SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台. 为了在不同平台/网络主机之间的通信安全, 很多时候我们都要通过ssh进行认证. ssh认证方式主要有
-
Hadoop框架起步之图解SSH、免密登录原理和实现方法
1. 前言 emmm-.最近学习大数据,需要搭建Hadoop框架,当弄好linux系统之后,第一件事就是SSH免密登录的设置.对于SSH,我觉得使用过linux系统的程序员应该并不陌生.可是吧,用起来简单,真让你说出个所以然,还是件比较困难的事(大佬绕路,此篇文章不属于你~).然后,我就好奇心大发,打算写一篇博客详细介绍一下SSH和免密登录的原理及实现. 补充:不管是Hadoop的伪分布还是全分布,Hadoop的名称结点(NameNode)都需要启动集群中所有机器的Hadoop守护进程,而这个过
-
详解MacOs免密登录CentOs操作步骤
MacOs免密登录CentOs 环境 本文操作的环境如下: CentOs 7 MacOs10.12.6 生成秘钥 首先在本机生成秘钥,打开终端,输入: ssh-keygen -t rsa -C xxxxx@qq.com 后面的邮箱随意就可以 然后一直按回车键,执行结束后会在当前用户根目录下面生成一个.ssh的隐藏文件夹 我们查看一下这个文件夹 wangjianfengdeiMac:~ wangjianfeng$ cd ~/.ssh wangjianfengdeiMac:.ssh wangjian
-
VSCode远程SSH免密登录配置实现
最近更新了VS Code之后,发现Remote-ssh拓展里的端口转发功能没了,很伤心,在探索的同时,顺手配置了一下VS Code ssh免密登录,以省去每次连接远程文件夹时输入两次密码的烦恼. 网上教程很多,但是很多没有给出细节,对于新手不友好,本文旨在通俗地介绍配置方法. 关键词:VS Code:vscode:ssh:远程开发 本次教程建立在VS Code+Remote-SSH插件开发环境.本地环境是Windows,远程环境是Linux的普通用户,非root. 第一步:本地 打开C:\Use
-
Win10下配置VScode远程开发ssh-remote(免密登录)
目录 问题背景: 环境准备: 配置步骤: 1.在本地配置服务器的免密登录 2.VScode上的配置 问题背景: 在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook上编写(或许可以在其他IDE上写,但我不知道).而我们喜欢用的IDE比如Pycharm.轻量级的VScode,如何在本地的IDE上使用服务器的项目且快速.方便地写代码呢?这就是今天要详细介绍的VScode配置免密ssh+remote,一旦连接成功,我们就可以
-
使用python的pexpect模块,实现远程免密登录的示例
说明 当我们需要用脚本实现,远程登录或者远程操作的时候,都要去解决如何自动输入密码的问题,一般来说有3种实现方式: 1).配置公钥私钥 2).使用shell下的命令,expect 3).使用python的pexpect模块 下面介绍的代码,是使用python的pexpect模块实现的: 代码 import os import sys import pexpect import datetime #获取昨天的日期 date_yes = (datetime.date.today()-datetime
-
linux下配置远程免密登录问题
linux下各种集群搭建往往需要配置远程免密登录,本文主要描述了CentOs6.3系统下配置免密登录的详细过程. ssh远程登录,两种身份验证: 1.用户名+密码 密钥验证 机器1生成密钥对并将公钥发给机器2,机器2将公钥保存. 机器1要登录机器2时,机器2生成随机字符串并用机器1的公钥加密后,发给机器1. 机器1用私钥将其解密后发回给机器2,验证成功后登录 1.用户名+密码 如上图所示,机器1要登录到机器2 ssh 机器2的ip(默认使用root用户登录,也可指定,如:ssh a@192.16
随机推荐
- 实例详解AngularJS实现无限级联动菜单
- DOM操作一些常用的属性汇总
- jquery(1.3.2) 高亮选中图片边框
- JavaScript原生编写《飞机大战坦克》游戏完整实例
- ASP.NET预备知识学习笔记
- php检测用户是否用手机(Mobile)访问网站的类
- 解析C++编程中异常相关的堆栈展开和throw()异常规范
- Qt实现图片移动实例(图文教程)
- linux crontab 实现每秒执行的实例
- jQuery操作select下拉框的text值和value值的方法
- 查看Linux内存条数与清理内存的命令方法
- PHP源码分析之变量的存储过程分解
- php URL编码解码函数代码
- PHP常用的小程序代码段
- AB12个人主页空间为您提供3000M免费空间服务
- 动手写一个angular版本的Message组件的方法
- mysql 8.0.11 安装配置方法图文教程(win10)
- python通过http下载文件的方法详解
- Python中PyQt5/PySide2的按钮控件使用实例
- 浅谈python中统计计数的几种方法和Counter详解