bdjhx 发表于 2019-2-18 07:36:30

Linux的SSH服务初学

  SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
1、ssh安全的加密协议,用于远程连接服务器。
2、默认端口22,安全协议版本ssh2.
3、服务端包含两个服务功能:ssh远程连接;SFTP服务。
4、ssh客户端半酣ssh连接命令,以及远程拷贝scp命令等。


[*]  利用ssh远程登陆另一台机器:
# ssh -p port user@x.x.x.x
-p(小写)接端口,ssh默认端口22;

# ssh -p 22 chunzi@192.168.146.143
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.
chunzi@192.168.146.143's password:
Last login: Sun Jun3 19:41:12 2018
welcome to yczcomputer!!!
$
[*]退出ssh之后本地家目录出现认证口令:
$ logout
Connection to 192.168.146.143 closed.
# ls -l ~/.ssh
total 4
-rw-r--r--. 1 root root 177 Jun3 19:42 known_hosts
# cat~/.ssh/known_hosts
192.168.146.143ecdsa-sha2-nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBwvK+r3suNV22luTg392mzjomP6P1ACFcNtqOcDtZKmvV5W9ulQBxb9OZXBNePoIs9OmDnuqZ9odVhGrVMaOxY=
[*]  ssh远程连接直接执行命令:

# ssh -p22 chunzi@192.168.146.143 /usr/bin/free -m   #全路径
chunzi@192.168.146.143's password:
total      used      free      sharedbuff/cache   available
Mem:      1823      112      1550       8       161      1536
Swap:      4095         0         4095
#
[*]scp命令的使用:
将本地/lab/data/scp.txt拷贝到192.168.146.143机器chunzi用户下/lab目录下
# scp -P22 /lab/data/scp.txt chunzi@192.168.146.143:/lab
chunzi@192.168.146.143's password:
scp.txt                                          100%    0   0.0KB/s   00:00
[*]查看结果:
# cd lab
# ll scp.txt
-rw-r--r--. 1 chunzi chunzi 0 Jun4 11:38 scp.txt
#   
  注意:远端/lab目录需要有其他用户rwx权限才能成功。

[*]将远端/lab/scp.txt文件拷贝到本地当前目录。
# scp -P22 chunzi@192.168.146.143:/lab/scp2.txt ./      
chunzi@192.168.146.143's password:
scp2.txt       100%    0   0.0KB/s   00:00                                                                                 
# ll scp2.txt
-rw-r--r--. 1 root root 0 Jun4 11:48 scp2.txt
#
  ssh -p   小写scp -P 大写    拷贝目录加参数-r

# scp -P22 -r chunzi@192.168.146.143:/lab/shiyan/ ./
chunzi@192.168.146.143'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   
# ls
anaconda-ks.cfgservices_2018-05-14-16.tar.gz
mbr.bin          shiyan
[*]ssh服务服务附带的sftp服务功能: get下载put上传
# sftp -o port=22 chunzi@192.168.146.143
chunzi@192.168.146.143'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
$ ls    #验证
1.pyab   
sftp> get a    #将远端家目录下面的文件a下载到本地
Fetching /home/chunzi/a to a
sftp> ^D
# ll a    #验证
-rw-r--r--. 1 root root 0 Jun4 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本地上传下载:
http://i2.运维网.com/images/blog/201806/04/f493ad284504f9aae04ec6640d6e6370.png
sftp> put "E:\wind.txt"   #将windows本地E盘文件上传Linux家目录,路径双引号
Uploading wind.txt to /root/wind.txt
100% 0 bytes      0 bytes/s 00:00:00      
# ll wind.txt   #验证
-rw-r--r--. 1 root root 0 Jun4 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   
http://i2.运维网.com/images/blog/201806/04/f58a3390e04080abf3260c8c2392e83e.png




页: [1]
查看完整版本: Linux的SSH服务初学