使用ssh免密码登录Linux服务器
频繁登录Linux服务器时,使用ssh <username>@<host>
的方式登录,但是每次都需要输入密码是件很麻烦的事。我们还可以使用私钥/公钥对的方式在免密码登录服务器。
首先需要在远程服务器中安装ssh-server
服务,才可以使用ssh登录。如果没有的话可以使用命令直接安装ssh-server
,可以以Ubuntu为例安转ssh-server
:
sudo apt-get install openssh-server
生成私钥/公钥对
使用命令ssh-kengen
可以生成私钥/公钥对,私钥/公钥对的生成算法有两种RSA和DSA。
RSA是非对称加密算法,可以用来加密和签名
DSA(Digital Signature Algorithm)只可以用来数字签名的算法
这里使用RSA算法生成私钥/公钥对。需要确认.ssh
目录是否存在,如果不存在的话创建该目录:
mkdir ~/.ssh
chmod 700 ~/.ssh
然后生成私钥/公钥对:
ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.Enter file in which to save the key (/Users/user/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /Users/user/.ssh/id_rsa.Your public key has been saved in /Users/user/.ssh/id_rsa.pub.The key fingerprint is:SHA256:gh0yqSZhpP9ERlhFSKwgy3sTBZwPAT0InLBJ73zcNt8 user@user-ios.localThe key's randomart image is:+---[RSA 1024]----+|*+*BB+o ||**oBoo ||B+ o@ . ||o++=.*.. ||. =o+oo+S || + =. ..o . || . o . E || || |+----[SHA256]-----+
其中-b
的参数是用来设置私钥的长度1024的长度已经可以满足我们对于安全的需求了,不输入任何文件名会在.ssh
目录下得到两个文件:id_rsa
和id_rsa.pub
。
上传公钥到对应的服务器
使用命令ssh-copy-id
可以将认证文件加载到对应的服务器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<host>
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keysuser@host's password:Number of key(s) added: 1Now try logging into the machine, with: "ssh 'user@host'"and check to make sure that only the key(s) you wanted were added.
这里会要求我们输入远程服务器的密码。
修改服务器的ssh配置文件
ssh-server
配置文件位于:/etc/ssh/sshd_config
中,需要设置ssh-server
允许使用私钥/公钥对的方式登录,打开配置文件:
vim /etc/ssh/sshd_config
增加设置:
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
然后重启ssh-server:
sudo /etc/init.d/ssh restart
设置完成之后就可以使用命令ssh <username>@<host>
直接登录服务器了,不需要再输入密码了。
其他
1.如果公钥丢失的情况,可以使用私钥再次生成公钥,使用私钥生成公钥的命令
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
2.使用ssh-copy-id
上传公钥到服务器之后,公钥是存放在服务器的~/.ssh/authorized_keys
中。它的存在格式是一行一个公钥,也可以手动把公钥的内容直接复制到服务器的authorized_keys中。使用命令cat id_rsa.pub
可以获取到公钥的内容。
使用ssh免密码登录Linux服务器相关推荐
- 配置免密码登录Linux服务器
2019独角兽企业重金招聘Python工程师标准>>> 获取本机SSH公钥,cat ~/.ssh/id_rsa.pub 远程Linux服务器上,vim ~/.ssh/authoriz ...
- ssh免密登录linux服务器
Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...
- linux节点ssh免密码登录linux节点
需求 节点A要ssh免密码登录节点B. 1.产生密钥 节点A和B都要产生秘钥,并且要注意是否在root用户下,登录对象是用户,而不是机器,所以产生密钥前先从root或者其他用户切换到你说需要的用户.然 ...
- SecureCRT使用本地公钥 SSH 免密码登录Linux
其原理与Linux系统之间的SSH通道原理是一样的 下文中如果创建公钥的格式是:标准公钥和VanDyke私钥格式,需要用ssh-keygen -i -f 转换.如果是OpenSSH密钥格式可直接修改文 ...
- 菜鸟Linux系列:[4]SSH免密码登陆远程服务器
背景:搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录. 在linux系统中,ssh是远程登 ...
- Linux配置SSH免密码登录(非root账号)
Linux环境下,经常通过SSH从一台服务器登录到另一台服务器,并且登录身份不是root账号,每次都要输入密码挺麻烦的,所以今天就来实战如何配置非root账号的免密码登录: 实战环境 本次实战环境是三 ...
- Linux运维:Shell脚本实现ssh免密登录远程服务器
LInux系统日常运维过程中,经常需要在本地运行脚本执行对远程主机的命令,正常情况下,ssh登录远程服务器时会提示输入密码,这会影响到脚本的自动执行(因为shell脚本中没有自动填充密码的命令).有三 ...
- Linux初窥:Linux下SSH免密码登录配置
目录 环境设置(root权限) 1.关闭防火墙和SELinux 2.设置主机名 3.配置hosts 4.配置sshd 秘钥设置 1.创建免密码登录账户 2.生成秘钥 3.将公钥导入到认证文件 4.设置 ...
- Linux设置ssh免密码登录
一.SSH来源 对于需要远程管理其它机器,一般使用远程桌面或者telnet.linux一般只能是telnet.但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问. 为解决这个问题,推出 ...
最新文章
- 概念的理解 —— 奇点(singularity point)、第一性原理(first principle)
- rails 常用方法
- 1049-飞机最少换乘次数问题
- 小程序多个echars_小程序界面与逻辑
- 08.MyBatis整合Log4j
- Linux下ping命令、traceroute命令、tracert命令的使用
- 翻译: 4.1 多层感知器MLP Multilayer Perceptrons pytorch
- 自适应滤波器 | 频域自适应滤波器(FLMS)
- recover的用法
- 网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?
- 用ffmpeg把yuv格式转化为mpeg格式
- 数据库索引的填充因子
- php copy函数 失败,wamp中的copy函数bug
- 【论文阅读】The Generals’ Scuttlebutt: Byzantine-Resilient Gossip Protocols
- Notepad++编辑过的行颜色设置 LocationNavigate.ini设置 高亮 黄色 绿色 修改的行变为黄色 修改的行高亮显示
- 网页中嵌入QQ和邮箱
- word2016如何插入题注并交叉引用
- vivado 2021.2下载安装兼容的matlab
- 【LINQ技术】扩展特性和LINQ操作符
- caffe代码阅读8: Data_layers的实现细节(各个数据读取层的实现细节) 2016.3.25-28
热门文章
- tensorflow学习笔记七----------卷积神经网络
- What's the best way to get rid of get parameters from url string?
- 后台寻路系统的大体思路与流程
- pom.xml的配置详解
- 产品经理懂技术=流氓会武术(zz)
- VS2005调试时变慢解决办法
- 全国计算机等级考试题库二级C操作题100套(第78套)
- python方法名加__学习python中__name__方法使用
- 华为p40 pro原理图_4188起 华为P40/Pro/Pro+国行发布 顶配8888 河图正式上线!
- mac idea配置配置自动清除类中无用的import包