linux下ssh安全连接

ssh是建立在应用层和传输层的安全协议,ssh协议可以防止计算机通信间的信息泄露问题。

在linux下常用的ssh协议就是ssh 命令,和scp命令,没有设置安全密匙的ssh、scp。是基于口令的安全验证,使用远程命令后要输入密码,虽然这是一种安全连接,但还是在网络中传输密码,如果经常在多个linux系统之间操作,重复输入密码有些不方便。

更加安全、高效的做法是设置一个安全密匙,就是建立一对安全密匙,公密和私密,把公密发给目的服务器上,目的服务器在每次收到客户端请求时会去比对你的密匙,如果公密一致,目的服务器就会用公密加密质询传输给客户端,客户端收到质询后就会用私密进行解密并把结果发给目的服务器,整个过程就不用在网络中传输密码,也不用重复输入密码。

我们现在来实现安全密匙,实验环境是两台linux主机

A  IP:172.16.15.168

B  IP:172.16.15.24

简单的两台主机之间的登陆,A用ssh连接到B

在A客户端用root密码执行:ssh-keygen -t rsa

ssh-keygen 是一个生成认证密匙的系统工具,使用的非对称加密算法包括

rsa、dsa

一路回车

你会发现在/root/.ssh/下生成了两个文件:id_rsa(私密),id_rsa.pub(公密)

把id_rsa.pub上传到B服务器并在B服务器下新建/root/.ssh/authorized_keys

把客户端的公密写入authorized_keys

cat id_rsa.pub >> authorized_keys (注意是追加不是覆盖)

这样在A客户端就可以不用输入密码ssh到B服务器

如果要双向连接的话就要在B服务器上使用:ssh-keygen -t rsa

把生成的公密写到A端的authorized_keys中

如果想要一台主机访问多台服务器,是把自己的公密上传给目的服务器写入authorized_keys中(亲测无效)至今不知道为什么

要实现一台主机访问多台服务器,登录时不用输入密码就得相互把自己的

公密发给对方。

这里只是一个简单的例子更多的ssh-keygen的用法和ssh的原理可以到openbsd

http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/ssh-keygen.1?query=ssh-keygen&sec=1

或者自行google

时间: 2024-08-02 22:33:18

linux下ssh安全连接的相关文章

linux下SSH远程连接服务慢解决方案

1.适用命令及方案如下:[远程连接及执行命令]ssh -p22[email protected]ssh -p22 [email protected] /sbin/ifconfig[远程拷贝:推送及拉取]scp -P22 -r -p /etc [email protected]:/tmp/scp -P22 -r -p [email protected]:/tmp/ /etc[安全的FTP功能]sftp -oPort=22 [email protected][无密码验证方案]例如利用sshkey批量

linux下ssh无法连接的原因

在虚拟机上安装了ubuntu16.04 server,用本机 ssh 连接的时候 无法连接上: 忽然想起在安装的时候有个openssh好像没有勾选,所以在虚拟机上 apt install openssh-server; 现在可以连接上了,但是在输入root密码的时候验证不通过,在安装的时候我创建了一个普通用户,ssh 用普通用户可以连接上: 我就在想是不是openssh禁止ssh  root用户:找到openssh的配置文件: vim /etc/ssh/sshd_config 找到这一行 Per

Linux下ssh远程连接慢解决

系统Centos7.2 解决方法: 1.编辑"/etc/ssh/sshd_config"文件,将DNS解析.GSSAPIAuthentication注释 [[email protected] ~]# vim /etc/ssh/sshd_config UseDNS        禁用DNS解析 GSSAPIAuthentication 采用Kerberos验证 UseDNS no GSSAPIAuthentication no [[email protected] ~]# service

Linux下SSH远程连接断开后让程序继续运行解决办法

一.screen安装 yum  install screen   #CentOS安装 sudo apt-get install screen #ubuntu安装 二.screen常用命令 screen -S mariadb   #新建一个叫mariadb的session screen -r mariadb   #回到mariadb   这个session screen -X -S mariadb  quit # 删除叫mariadb的session screen -ls #列出当前所有的sess

linux下ssh连接缓慢详解

摘自:https://blog.csdn.net/asd2479745295/article/details/83006379 linux下ssh连接缓慢详解原创皮的开心 最后发布于2018-10-11 09:13:37 阅读数 1824 收藏展开    最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快.使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了

linux下ssh端口的修改和登录

linux下ssh端口的修改和登录 首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,添加如下一行: Port 50000 然后保存退出 1.端口修改 执行/etc/init.d/sshd restart 这样SSH端口将同时工作在50000上. 2.防火墙修改 现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口.添加如下一行 1 -A INPUT -m state --state N

Linux下SSH免密码登录

转自:http://haitao.iteye.com/blog/1744272 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执行如下: 1. $cd ~/.ssh 2. $ssh-keygen -t rsa  --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中. 3. $cp id_rsa.pub author

linux下的静态连接库和动态链接库

对linux的静态连接库和动态链接库分不清楚,在看了一篇博文后,现在想做个自己的总结,以加深印象: 1.库的基本概念: 库是可执行代码的二进制形式,其可以被调入操作系统调入内存进行执行. 在window和linux系统,都存在各自的库,但是两种系统的库并不能兼容,因为它们的编译器,连接器,汇编器都是不相同的. 在windows下,静态连接库的后缀是.lib;动态链接库的后缀是.dll 在linux系统下,静态链接库的后缀是.a;动态链接库的后缀是.so 2.静态连接库和动态链接库的命名: 静态连

Linux下的动态连接库及其实现机制

Linux与Windows的动态连接库概念相似,但是实现机制不同.它引入了GOT表和PLT表的概念,综合使用了多种重定位项,实现了"浮动代码",达到了更好的共享性能.本文对这些技术逐一进行了详细讨论. 本文着重讨论x86体系结构,这是因为 (1)运行Linux的各种体系结构中,以x86最为普及: (2)该体系结构上的Windows操作系统广为人知,由此可以较容易的理解Linux的类似概念: 下表列出了Windows与Linux的近义词,文中将不加以区分: Windows Linux 动