Linux的SSH服务初学
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的SSH服务初学相关的知识,希望对你有一定的参考价值。
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
1、ssh安全的加密协议,用于远程连接服务器。
2、默认端口22,安全协议版本ssh2.
3、服务端包含两个服务功能:ssh远程连接;SFTP服务。
4、ssh客户端半酣ssh连接命令,以及远程拷贝scp命令等。
-
利用ssh远程登陆另一台机器:
[[email protected] ~]# ssh -p port [email protected]
-p(小写)接端口,ssh默认端口22;[[email protected] ~]# ssh -p 22 [email protected] The authenticity of host ‘192.168.146.143 (192.168.146.143)‘ can‘t be established. ECDSA key fingerprint is da:71:20:ad:03:53:ac:b7:ed:a8:ca:2d:d1:93:2e:25. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘192.168.146.143‘ (ECDSA) to the list of known hosts. [email protected]‘s password: Last login: Sun Jun 3 19:41:12 2018 welcome to yczcomputer!!! [[email protected] ~]$
- 退出ssh之后本地家目录出现认证口令:
[[email protected] ~]$ logout Connection to 192.168.146.143 closed. [[email protected] ~]# ls -l ~/.ssh total 4 -rw-r--r--. 1 root root 177 Jun 3 19:42 known_hosts [[email protected] ~]# cat ~/.ssh/known_hosts 192.168.146.143ecdsa-sha2-nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBwvK+r3suNV22luTg392mzjomP6P1ACFcNtqOcDtZKmvV5W9ulQBxb9OZXBNePoIs9OmDnuqZ9odVhGrVMaOxY=
-
ssh远程连接直接执行命令:
[[email protected] ~]# ssh -p22 [email protected] /usr/bin/free -m #全路径 [email protected]‘s password: total used free shared buff/cache available Mem: 1823 112 1550 8 161 1536 Swap: 4095 0 4095 [[email protected] ~]#
- scp命令的使用:
将本地/lab/data/scp.txt拷贝到192.168.146.143机器chunzi用户下/lab目录下 [[email protected] lab]# scp -P22 /lab/data/scp.txt [email protected]:/lab [email protected]‘s password: scp.txt 100% 0 0.0KB/s 00:00
- 查看结果:
[[email protected] /]# cd lab [[email protected] lab]# ll scp.txt -rw-r--r--. 1 chunzi chunzi 0 Jun 4 11:38 scp.txt [[email protected] lab]#
注意:远端/lab目录需要有其他用户rwx权限才能成功。
- 将远端/lab/scp.txt文件拷贝到本地当前目录。
[[email protected] lab]# scp -P22 [email protected]:/lab/scp2.txt ./ [email protected]‘s password: scp2.txt 100% 0 0.0KB/s 00:00 [[email protected] lab]# ll scp2.txt -rw-r--r--. 1 root root 0 Jun 4 11:48 scp2.txt [[email protected] lab]#
ssh -p 小写 scp -P 大写 拷贝目录加参数-r
[[email protected] ~]# scp -P22 -r [email protected]:/lab/shiyan/ ./ [email protected]‘s password: c2 100% 26 0.0KB/s 00:00 c.sh 100% 16 0.0KB/s 00:00 hhhh 100% 0 0.0KB/s 00:00 yangchunzi 100% 11 0.0KB/s 00:00 time.sh 100% 31 0.0KB/s 00:00 b 100% 55 0.1KB/s 00:00 xin.py 100% 301 0.3KB/s 00:00 1.py 100% 183 0.2KB/s 00:00 [[email protected] ~]# ls anaconda-ks.cfg services_2018-05-14-16.tar.gz mbr.bin shiyan
- ssh服务服务附带的sftp服务功能: get下载 put上传
[[email protected] ~]# sftp -o port=22 [email protected] [email protected]‘s password: Connected to 192.168.146.143. sftp> put ./shiyan/1.py #将./shiyan/目录下1.py文件上传到远端家目录 Uploading ./shiyan/1.py to /home/chunzi/1.py ./shiyan/1.py 100% 183 0.2KB/s 00:00 [[email protected] ~]$ ls #验证 1.py a b sftp> get a #将远端家目录下面的文件a下载到本地 Fetching /home/chunzi/a to a sftp> ^D [[email protected] ~]# ll a #验证 -rw-r--r--. 1 root root 0 Jun 4 16:20 a
注意:
Uploading ./shiyan/1.py to /home/chunzi/1.py
remote open("/home/chunzi/1.py"): Permission denied
若出现这种问题,则说明远端家目录没有写w的权限。默认/tmp目录有权限。可以将文件上传至远端/tmp目录下之后在经行操作。如果想直接上传至远端家目录,需要增加/home/user写w的权限。 - sftp与windows本地上传下载:
sftp> put "E:\wind.txt" #将windows本地E盘文件上传Linux家目录,路径双引号 Uploading wind.txt to /root/wind.txt 100% 0 bytes 0 bytes/s 00:00:00 [[email protected] ~]# ll wind.txt #验证 -rw-r--r--. 1 root root 0 Jun 4 16:58 wind.txt sftp> get a.txt #将Linux家目录文件a.txt下载到windows本地 Downloading a.txt from /root/a.txt 100% 0 bytes 0 bytes/s 00:00:00
以上是关于Linux的SSH服务初学的主要内容,如果未能解决你的问题,请参考以下文章