目录
Ssh服务
Ssh是远程控制加密协议,主要的用途是远程登录服务器进行远程上传和下载文件等操作。
本人开了一台虚拟机,ip地址为10.10.65.71。接下我要用这个地址作为环境
使用密码登录
在另一个linux环境下,输入ssh root@10.10.65.71
如果是第一次登录,则会询问你是否继续链接,然后输入yes,接下来就会让你输入密码,然后输入密码,就登录成功了
秘钥登录
首先,在本地通过算法生成公钥,然后将公钥发送给要登录的远程主机。在登录的时候,比对 本地和远程的公钥,忽略密码进行登录。
1、生成秘钥
在本地的机器输入ssh-kevgen -t rsa
会就在/root/.ssh/目录下生成秘钥
其中Id_rsa为私钥,Id_rsa.pub为公钥,known_hosts为白名单
2、进行权限修改
将id_rsa.pub文件复制出来,生成另一个文件
然后进行权限修改,chmod 600的意思是修改权限为属主权限可读可写,属组权限,其它用户不可读写执行
3、密码登录远程主机
在登录的主机中,创建/root/.ssh目录,并给予权限
4、传输本地的私钥到远程主机
在本地的机器使用scp服务传输钥匙,把本地的/root/.ssh/authorized_keys文件传输到root@10.10.65.71服务器的/root/.ssh/目录下
之后就可以不使用密码就能登录了,输入ssh -i id_rsa root@10.10.65.71就能直接登录
Scp通话ssh机制进行文件的拷贝
复制文件(本地>>远程):scp /cloud/data/test.txt root@10.21.156.6:/cloud/data/
复制文件(远程>>远程):scp root@10.21.156.6:/cloud/data/test.txt /cloud/data/
复制目录(本地>>远程):scp -r /cloud/data root@10.21.156.6:/cloud/data/
复制目录(远程>>本地):scp -r root@10.21.156.6:/cloud/data/ /cloud/data/
sftp
是ssh文件传输协议
如果使用sftp协议,要把本地的文件传到远程,则是put 本地 远程
要把远程的文件传到本地,则是get 远程 本地
Xshell
Xshell是一个远程的控制软件,使用ssh协议,Xftp 是一个远程文件传输的软件,使用stfp协议
1、创建主机
2、登录
这个用户名就是你要登录的那个账号,可以使用root
使用命令登录也可以,也可以是退出之后重新登录时使用
和在linux环境中一样,输入ssh root@主机名,然后会弹出一个对话框要你输入密码
输入密码后就会显示链接成功
xftp
xftp是一个类似于xshell的工具,是sftp的可视化工具
使用这个可以很方便的进行sftp文件传输