ssh免口令密码登录及兼容性处理
1). client ---> server
客户端发起对服务器的连接,登录服务器。
2). 须在客户端生成密钥对
注意:
公钥加密私钥解;私钥加密公钥解。
可以发布公钥,但私钥是不能出本机的。
把公钥给谁就授信谁,信任谁的身份。
$ ssh-keygen -t rsa
不需要给passphrase,同时初次会在用户家目录下生成.ssh/,且生成id_rsa和id_rsa.pub两个文件。
也可以使用如下命令
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
3). 将客户端的公钥复制到服务器端
$ scp .ssh/id_rsa.pub user@192.168.0.11:~/.ssh/
这里192.168.0.11是服务器,user是服务器上的用户。
4). 服务器上的操作
$ cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
.ssh/需要700权限
注意,文件.ssh/authorized_keys的格式如下:
-------------------------------------------------------------------------
ssh-rsa AAAAB3NzaC1...... user1@node01
ssh-rsa AAAAB3PzcIIE1...... user2@node02
ssh-rsa AAAAB3NzaC1...... user3@node03
-------------------------------------------------------------------------
一行一个公钥密钥串(UNIX回车换行,可以用vim的o指令添加)。
每行以ssh-rsa开头,最后为描述信息,形如:user1@node01。描述信息是可选的。
上述3和4步可以合成如下一步完成:
$ ssh-copy-id 192.168.0.11
或者
$ ssh-copy-id -i ~/.ssh/id_rsa.pub bee@192.168.1.1
最后服务器上配置 /etc/ssh/sshd_config 并重启服务:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
关于兼容性:
- 对于错误
Unable to negotiate with legacyhost: no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1
使用如下命令设置
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@legacyhost
或者修改配置文件 ~/.ssh/config
Host somehost.example.org (域名或IP)
KexAlgorithms +diffie-hellman-group1-sha1
- 对于错误
Unable to negotiate with legacyhost: no matching host key type found. Their offer: ssh-dss
使用如下命令设置
ssh -oHostKeyAlgorithms=+ssh-dss user@legacyhost
或者修改配置文件 ~/.ssh/config
Host somehost.example.org (域名或IP)
HostKeyAlgorithms +ssh-dss
- 查询ssh支持的算法
ssh -Q cipher # List supported ciphers
ssh -Q mac # List supported MACs
ssh -Q key # List supported public key types
ssh -Q kex # List supported key exchange algorithms
- 查询连接特定主机时所使用的配置
ssh -G user@somehost.example.com
- ssh登陆兼容性问题处理实例
$ ssh user@192.168.1.10
Unable to negotiate with 192.168.1.10 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@192.168.1.10
Unable to negotiate with 192.168.1.10 port 22: no matching cipher found. Their offer: aes256-cbc,aes128-cbc,3des-cbc,des-cbc
$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc user@192.168.1.10
debug:
$ ssh -vvvv -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc user@192.168.1.10
配置文件 ~/.ssh/config
Host 192.168.1.10 example.org
user someone
KexAlgorithms diffie-hellman-group1-sha1
Cipher 3des-cbc
ssh免口令密码登录及兼容性处理的更多相关文章
- centos7 ssh免口令认证登录
摘要:centos7, xshell, 公钥, ssh ssh登录方式有口令认证登录和密钥认证登录 接下来本次介绍是ssh密钥登录方式 (1)产生公钥 (2)将公钥放置到centos7的(/root ...
- 利用系统自带工具快速实现SSH免密远程登录
一.软件环境 操作系统:CentOS Linux release 7.4.1708 (Core) SSH版本 [root@Geeklp201 ~]# ssh -V OpenSSH_7.4p1, Ope ...
- Linux SSH 免秘钥登录
SSH 免秘钥登录 ssh:是一种安全加密协议 ssh username@hostname ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...
- linux下ssh免秘钥登录
1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...
- 多节点ssh免密匙登录
1,在所有节点上,使用yourname用户名执行: ssh-keygen -t dsa -P '' -f /home/yourname/.ssh/id_dsa 2,在node1的/home/yourn ...
- ssh 免密root登录
安装SSH SERVER 在所有的节点上都安装SSH server服务. # apt-get install openssh-server1 因为我们搭建的Ceph直接使用root用户,所以需要修改s ...
- L07-Linux配置ssh免密远程登录
本文配置可实现:集群服务器之间相互可以ssh免密登录.若只想从单一机器(如master)ssh免密登录其他机器(slave1.slave2),则只跟着操作到第二步即可. 建议先花两三分钟把全文看完再跟 ...
- 谷歌云ssh开启root密码登录
修改配置 1.先选择从浏览器打开ssh连接服务器 连接登录成功后,输入以下命令 sudo -i #切换到root passwd #修改密码 然后会要求输入新密码,然后再重复一次密码,输入密码的时候不会 ...
- ssh免秘钥登录
简介 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程 ...
随机推荐
- 2017ICPC南宁补题
https://www.cnblogs.com/2462478392Lee/p/11650548.html https://www.cnblogs.com/2462478392Lee/p/116501 ...
- 深入理解JVM虚拟机11:Java内存异常原理与实践
本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...
- 北风设计模式课程---最少知识原则(Least Knowledge Principle)
北风设计模式课程---最少知识原则(Least Knowledge Principle) 一.总结 一句话总结: 最少知识原则(Least Knowledge Principle),或者称迪米特法则( ...
- Unity各版本差异
Unity各版本差异 version unity 5.x 4.x 2017 差异 特点 首先放出unity的下载地址,然后再慢慢分析各个版本.再者unity可以多个版本共存,只要不放在同一目录下. ...
- OGG-DDL复制
http://blog.sina.com.cn/s/blog_96d348df0102vg6q.html OGG目前只支持Oracle和TeraData的ddl复制,Oracle数据库能够支持除去数据 ...
- Java操作数据库之JDBC增删改查
1.java连接MySql数据库 代码区域: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- Basic Model Theory of XPath on Data Trees
w https://openproceedings.org/2014/conf/icdt/FigueiraFA14.pdf From a database perspective, however, ...
- 《HTML5 与 CSS3 基础教程(第 8 版)》
第 1 章 网页的构造块 文件名和文件夹名 文件名全部使用小写字母,用短横线分隔单词,用 .html 作为扩展名.混合使用大小写字 母会增加访问者输入正确地址以及找到页面的难度 文件夹的名称也应全部用 ...
- scrapy Pipeline使用twisted异步实现mysql数据插入
from twisted.enterprise import adbapi class MySQLAsyncPipeline: def open_spider(self, spider): db = ...
- Delphi XE2 之 FireMonkey 入门(4) - 控件天生可做容器
1.新建 FM(HD) 工程, 先添加 TLine(默认名称是 Line1);2.在 Line1 选择状态下添加 Button1;3.取消选择后添加 Button2 此时, Button1.Paren ...