一、使用"ssh"命令,登录访问远程服务器
Linux是一个支持多用户操作的系统,在同一时刻允许多个用户同时访问系统,共享系统提供的服务。那么用户如何从不同的机器*问同一台Linux服务器呢?此时就需要借助于SSH客户端,来进行用户登录和访问系统。
查看"man ssh"在线文档,"ssh"命令描述信息如下:
查看"ssh"在线文档可知,假设远程服务器ip地址为:192.168.100.36,远程用户名为:newbie,则访问远程服务器的命令如下:
ssh -l newbie 192.168.100.36
二、基于服务器间密钥的方式,实现"ssh"远程免密码登录
默认情况下,通过“ssh”客户端来访问远程服务器时,每次都要输入用户密码(在经常访问服务器时,此种体验让人很不爽)。实际上"ssh"可以实现免密码登录,实现的最简单的方法是创建一个公钥/私钥对,以此来验证服务器的有效性,替代密码验证。
注意:免密登录也不是万能的。免密登录时,从一台【主机A】的用户userA,使用【主机B】的用户userB来登录到【主机B】,此时存在着严格的用户对应关系。基于密钥免密登陆的实现步骤如下:
1、在客户端【主机A】生成一对密钥(公钥/私钥)
基于空口令生成一个新的ssh密钥,以实现无密码登录,执行命令如下: ssh-keygen -t rsa -P \'\' -f ~/.ssh/id_rsa
参数说明: -t 加密算法类型,这里是使用rsa算法 -P 指定私钥的密码,不需要可以不指定 -f 指定生成秘钥对保持的位置
2、客户端【主机A】,使用"ssh-copy-id"命令,将客户端【主机A】的公钥,发送个服务端【主机B】
注:经过ssh-copy-id后接收公钥的服务端会把公钥追加到服务端对应用户的$HOME/.ssh/authorized_keys文件中
ssh-copy-id userB@serverB
#注:执行此命令时,需要输入userB的登陆密码。
3、客户端【主机A】,使用“ssh”命令访问服务器端【主机B】,进行登录操作
ssh -l userB serverB
4、服务端根据客户端的用户名和主机名查找对应的公钥,将一个随机的字符串用该公钥加密后发送给客户端
5、客户端用自己的私钥进行解密收到的字符串,并将解密后的字符串发送给服务端
6、服务端对比发送出去的和接收到的字符串是否相同,如果相同,则登录成功。
三、设置“ServerAliveInterval”参数,保持SSH客户端的长链接
用ssh连接服务器时,过段时间不用, 需要恢复一下断开的连接, 原因是NAT防火墙喜欢对空闲的会话进行超时处理,以确保它们状态表的干净和内存的低占用率,因为 长时间保持连接, 会长期占用部分系统资源, 为了节省系统资源,NAT防火墙就会把长时间的ssh连接断掉;频繁重连ssh总归是有些麻烦,下边是我对部分ssh工具解决方法:
使用命令参数进行ssh连接时加一个参数 -o ServerAliveInterval=30 (客户端主动向服务端请求响应的间隔为30s)来保持活动状态。
ssh -l 登录用户名 -o ServerAliveInterval=30 服务器地址
四、服务器间,远程拷贝命"scp"
scp工具,是基于ssh远程安全登录的,可以将主机A上的文件或目录,拷贝给主机B并且可以改名字,也可以将主机B上的文件或目录下载到主机A中,同时也支持修改文件名。
1、远程拷贝文件
scp 本机文件 user@host:路径/
注:将bigdata1上的/etc/profile文件拷贝到bigdata2的根目录下 scp /etc/profile root@bigdata2:/
注:将bigdata1上的/etc/profile文件拷贝到bigdata2的根目录下,并改名为profile.txt scp /etc/profile root@bigdata2:/profile.txt
2、远程拷贝目录
scp -r 本机目录 user@host:路径/ 注:将bigdata1上的/bin目录拷贝到bigdata2的根目录下 scp -r /bin root@bigdata1:/home/ (-r 表示递归)
3、下载文件到本地
scp user@host:文件名 本地目录 注:将bigdata2上的/profile下载到本地并改名为profile.txt scp root@bigdata2:/profile ./profile.txt
4、下载目录到本地
scp -r user@host:文件名 本地目录 注:将bigdata2上的/bin下载到本地并改名为bin.bak scp -r root@bigdata2:/home/bin ./bin.bak
转载说明:本篇博客的“第二节”、“第四节”转载自网络。 原文标题:SSH远程登录和SSH免密码登录 原文地址:https://blog.csdn.net/m0_37822234/article/details/82494556