linux远程连接ssh
⑴ 【linux】SSH 使用密码/公钥远程登录总结
本文是笔者查阅网上资料做的总结,关于SSH原理,什么是对称加密和非对称加密,本文不过多介绍。这里介绍一下SHH的工作过程、配制方法,可能出现的问题及解决方法。
说明:本文中涉及的例子,SSH客户端为:本地主机A,SSH服务器为:服务器B
SSH协议采用C-S(客户端-服务器端)架构进行双方的身份验证以及数据的加密。
服务器端组件监听指定的端口,负责安全连接的建立、对连接方的身份认证、以及为通过身份认证的用户建立正确的环境。
客户端负责发起最初的TCP握手、安全连接的建立、验证服务器的身份与之前记录中的一致、并将自己的验证信息提供给服务器。
一个SSH会话的建立过程分为两个阶段。第一阶段,双方沟通并同意建立一个加密连接通道以供后续信息传输用。第二阶段,对请求接入的用户进行身份验证以确定服务器端是否要给该用户开放访问权限。
当客户端发起TCP连接时,服务器端返回信息说明自己支持的协议版本,如果客户端上支持的协议与之匹配,则连接继续。服务器会提供自己的公共主机密钥(public host key)以让客户端确认自己访问的是正确的机器。
然后,双方采用一种Diffie-Hellman算法共同为该会话建立密钥。每一方的一部分私有数据,加上来自对方的一部分公共数据,通过这种算法计算,能够得出完全相同的密钥用于本次会话。
整个会话的通讯内容都使用该密钥进行加密。这个阶段使用的公钥/私钥对与用户验证身份用的SSH密钥是完全无关的。
经典Diffie-Hellman算法的计算步骤如下:
这个共享密钥的加密方式被称为二进制数据包协议(binary packet protocol)。该过程能够让双方平等的参与密钥生成的过程,而不是由单方掌握。这种共享密钥生成的过程是安全的,双方没有交换过任何未经加密的信息。
生成的密钥是对称式密钥,一方用于加密信息的密钥等同于另一方用于解密信息的密钥,而任何第三方由于不持有该密钥,是无法解密双方传递的内容的。
会话加密通道建立后,SSH开始进入用户认证阶段。
下一步,服务器验证用户身份以决定是否准许其访问。验证有不同的方式,选择的验证方式取决于服务器的支持。
最简单的验证是密码验证:服务器要求客户端输入密码,客户端输入的密码经过上述的通道加密传输给服务器。
虽然密码是加密过的,然而该方法仍然不被推荐,因为用户经常为了省事而使用过于简单的密码,而这类密码很容易就能够被自动化脚本破解。
最流行的验证方式是SSH密钥对,这也是当前最推荐的方式。SSH密钥对是非对称密钥,私钥和公钥分别用于不同的功能。
公钥用于加密,而私钥用于解密。公钥可以随意上传、共享,因为公钥的流通并不会危及到私钥的保密性。
SSH密钥对的验证过程起始于上一部分加密通道建立之后,其具体执行步骤如下:
简单来说,服务器端用公钥加密信息,客户端用私钥解密信息以证明自己持有私钥。该过程同时使用了对称加密和非对称加密,两种方式各有自己的功用。
命令如下:
用户名:为要登录的服务器B中已存在的用户账户名
IP地址:为服务器B的IP地址
-p 端口号:用来指定端口号,默认为22
第一次登录时,会提示如下提示:
大概意思是说,你正在访问的主机不能验证它的真实性,它的RSA key(当前访问主机的公钥)指纹是怎样的,你确定要继续连接吗?
输入yes继续,会提示,已永久把当前访问主机的RSA key添加到了已知主机文件(用户目录下,.ssh 文件夹中的knwon_hosts文件)中。之后再次 SSH 登录就不再有该提示了。
接着,输入登录账户的密码即可。
SSH 密码登录,需要服务器开启密码验证权限,编辑服务器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,将前面的#号去掉,保存退出。
公钥登录,即免密码登录。避免的每次登录都要输入的麻烦,也防止了中间人攻击。是SSH远程登录最常用的登录方式。
提示输入密钥对名称,直接回车,使用默认名称即可;
提示输入密码(使用私钥时,要输入密码),直接回车,不使用密码即可。
首先,登录服务器B,在进行下面的操作。
找到 #PubkeyAuthentication yes,删除 #号,保存退出。
重启 ssh 服务
也可指定验证私钥:
本地主机A,生成密钥对后:
sudo vim /etc/selinux/config
⑵ 如何通过ssh远程登录linux系统
通过ssh远程登录linux系统的方法: 1、在需要远程访问的计算机的“新立得”里面安装openssh-server。这台计算机是远程计算机,你当前使用的计算机是本地计算机。如果使用Ubuntu或者其他Linux版本,已经安装了连接到远程计算机的软件。 2、远程计算...
⑶ linux 怎么远程登录ssh
一般使用命令: ssh 目标地址 即可。 指定用户: ssh -l root 192.168.0.11或则 ssh [email protected] 如果修改过ssh登录端口的可以: ssh -p 12333 192.168.0.11 ssh -l root -p 12333 216.230.230.114 ssh -p 12333 [email protected]
⑷ 如何通过ssh远程登录linux系统
通过ssh远程登录linux系统步骤如下:
1、启动软件,点击快速连接,我们要选择连接的协议。
⑸ 如何用ssh 远程登录linux
ssh是可以代替telnet的一种远程管理的方式.并且具有安全\快捷等优点的一种服务.
方法一:进入Xwindows,在shell窗口执行setup命令,选择system
service启动sshd服务.
方法二:在/etc/ssh/sshd_config文件中,将permitRootLogin
no|yes设置为允许root用户远程登录
/etc/init.d/sshd
start
启动ssh服务
/etc/init.d/sshd
stop关闭服务
启动:
service
sshd
start
安装过程:
1.以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)
2.检查安装系统时是否已经安装SSH服务端软件包:
rpm
-qa|grep
openssh
若显示结果中包含openssh-server-*,则说明已经安装,直接启动
sshd服务就可以了(service
sshd
start).(其中*的内容是该包的版本,一般为3.5p1-6)
若无任何显示,或显示中不包含openssh-server-*则说明没有安装SSH服务端软件包,
进入第3步
3.找到redhat
9.0
安装光盘,放入光驱中并加载光驱
mount
-t
iso9660
/dev/cdrom
/mnt/cdrom
(加载光驱命令)
4.查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,
可以先cd到该目录下再用ls查看,如:ls
openssh*,然后根据上面具体显示直接安装
rpm
-ivh
openssh-3.5p1-6
(如果第二步中显示已经安装该包就不要安装)
rpm
-ivh
oeenssh-server-3.5p1-6
5.启动sshd服务
/etc/rc.d/init.d/sshd
start
netstat
-a
|
more看有没正常启动
如果出现:
tcp
0
0
*:ssh
*:*
LISTEN
就说明正常启动了
6.在windows
下用putty等SSH客户端软件连接测试,或直接在linux主机上输入
ssh
测试,但必须要先安装linux
下的SSH客户端软件包,即
openssh-clients-*,安装过程和上面的服务端包相同
7.若能成功远程登入,则说明SSH服务安装配置成功,
否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙
(/etc/rc.d/init.d/iptables
stop)
就可以连接了
或者service
iptables
stop
⑹ linux远程连接ssh工具有哪些
推荐这四款:
1、putty
putty是最有名的SSH和telnet客户端,由Simon
Tatham为Windows平台开发。putty是一款开源软件,提供可用的源代码并有一批志愿者进行开发和支持。
2、secureCRT
secureCRT支持SSH,同时支持Telnet和rlogin协议。secureCRT是一款用于连接运行包括Windows、Unix和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100、VT102、VT220和ANSI竞争,能从命令行中运行或从浏览器中运行。其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等。secureCRT的SSH协议支持DES、3DES和RC4密码和密码与RSA鉴别。
3、EasySSH
EasySSH是一款便捷的GUI SSH客户端,提供了一种连接远程Linux服务器的快捷工具。
尽管EasySSH没有提供Putty中提供的大量配置选项,但是它非常易于使用。EasySSH的最佳功能之一是提供标签式界面,因此你可以打开多个SSH连接并在它们之间快速切换。EasySSH的功能包括:分组、保存用户名密码、外观选项、支持本地和远程隧道。
4、Xshell
Xshell是一个强大的安全终端模拟软件,它支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议。xshell通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
⑺ linux远程连接工具
五个非常好用的Linux远程连接工具:
第一款:Xshell(https://www.netsarang.com)
Xshell是一个非常强大的安全终端模拟软件,它支持SSH1,SSH2,以及Windows平台的TELNET协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的,Xshell非常符合使用习惯,值得推荐。
优点:
①界面设计简洁,人性化,用起来比较舒服。
②支持标签,打开多个会话链接的时候比较方便。
③可以保存密码,方便下次直接使用,当然要做好电脑安全防护。
④支持rz和sz命令,这两个命令在传输少量小文件时非常方便。
⑤图形化支持本地和远程文件之间的传输,方便系统部署和日志排查。
第二款:winscp(https://winscp.net/eng/docs/lang:chs)
winscp是一个Windows环境下使用SSH的开源图形化Sftp工具客户端。同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制传输文件。winscp+putty软件配套使用。
优点:
①简洁的图形用户界面。
②Windows完美集成。
③完美支持所有常用文件操作。
④可以批处理脚本和命令行方式。
⑤多种半自动、自动的目录同步方式。
⑥内置文本编辑器。
⑦可以存储会话信息,方便下次使用。
⑧可将设置存在配置文件中而非注册表中,适合在移动存储设备上操作。
第三款:PuTTY(.putty.org/)
PuTTY是SSH和telnet客户端,最初由Simon
Tatham为Windows平台开发。用MIT许可证授权,包含的组件有:PuTTY、PuTTYgen、PSFTP、PuTTYtel、Plink、PSCP、Pageant,默认登录协议是SSH,默认的端口为22。PuTTY主要用来远程连接服务器,它支持SSH、Telnet、Serial等协议的连接。最常用的是SSH协议,用它来远程管理Linux服务器非常方便。
优点:
①完全免费开源。
②跨平台。
③绿色软件,体积不到1M,不需要安装,占用系统资源少。
④完全支持SSH1和SSH2。
第四款:MobaXterm(/mobaxterm.mobatek.net/)
MobaXterm的功能非常全面,几乎提供了所有重要的远程网络工具,以及Windows桌面上的Unix命令,登录之后默认开启sftp模式。
优点:
①功能非常全,基本上涵盖了服务器运维所有功能。
②免费开源。
③丰富的插件。
④超多好用的快捷键,效率非常高。
⑤支持多标签,切换也十分方便。
第五款:FinalShell(http://www.hostbuf.com/)
FinalShell是一体化的服务器网络管理软件,不仅是SSH客户端,FinalShell还是功能强大的开发、运维工具,充分满足用户的开发运维需求。
优点:
①跨平台。
②支持内存、CPU性能监控,Ping延迟丢包,Trace路由监控。
③支持rz、sz。
⑻ Linux Windows远程连接工具的使用SSH(Windows和Linux之间相互传递文件)
目录
一、介绍
二、使用SSH传输文件
2.1双击SSHClient.exe
2.2打开后的页面,按下回车会弹出页面
2.3输入远程服务器ip,输入密码
2.4在ssh登录页面输入ip地址 ,填写完毕用户名点击Connect
2.5输入密码点击OK
2.6成功连接
2.7windows向Linux互传文件
三、传输文件
3.1比如传输windows网易云音乐到Linux文件夹demo下
3.2传输文件查看
3.3传输完毕
2.3.1查看输入远程服务器ip:打开Linux的终端输入ifconfig,右键 ip地址