SSH,SCP,SFTP命令汇总

简介:

ssh远程连接总结:


1:直接连接到远程主机上面,-p22代表ssh端口 root代表远程主机的用户名@172.16.1.31代表远程主机的IP地址。(直接切到远程主机上)

[root@m01 ~]# ssh -p22 root@172.16.1.31
root@172.16.1.31's password: 
Last login: Mon Aug 14 23:04:42 2017 from m01
[root@nfs01 ~]#


2:直接调用远程主机的命令(不会切到机器上)

[root@m01 ~]# ssh -p22 root@172.16.1.31 /sbin/ifconfig
root@172.16.1.31's password: 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:EB:DA:9F  
          inet addr:10.0.0.31  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feeb:da9f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:344 errors:0 dropped:0 overruns:0 frame:0
          TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30665 (29.9 KiB)  TX bytes:29816 (29.1 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:EB:DA:A9  
          inet addr:172.16.1.31  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feeb:daa9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:292 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:44077 (43.0 KiB)  TX bytes:44353 (43.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:282 errors:0 dropped:0 overruns:0 frame:0
          TX packets:282 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:31196 (30.4 KiB)  TX bytes:31196 (30.4 KiB)

[root@m01 ~]#


3:当第一次ssh连接的时候,本地会产生一个密钥文件~/.ssh/known_hosts (多个密钥)


4.windows客户端通过ssh连接

windows下实现远程连接的软件一般有secureCRT,Putty,xshell


5. ssh客户端附带的远程拷贝scp命令。

scp的基本命令使用:scp -secure copy(remote file copy program)

每次都是全量拷贝,增量拷贝rsync

推:push (本地在前)

scp -P22 -r -p /tmp/oldboy oldboy@172.16.1.31:/tmp

举例1:把本地/etc/hosts文件拷贝到远端主机172.16.1.31的/data目录中

[root@m01 ~]# scp -P22 /etc/hosts root@172.16.1.31:/data
root@172.16.1.31's password: 
hosts                                                    100%  158     0.2KB/s   00:00   

举例2:把本地/data目录拷贝到远端主机172.16.1.31的/data目录中,-r代表拷贝目录,p代表保持目录属性。

[root@m01 data]# scp -P22 -rp /data root@172.16.1.31:/data    
root@172.16.1.31's password: 
a.txt                                                    100%    0     0.0KB/s   00:00

#scp为远程拷贝文件或目录的命令

#P(大写,注意和ssh命令的不通)接端口,默认22端口时可以省略-P22

#-l 限制拷贝速度(企业案例,生产环境中一定要限速)

拉:远端在前

[root@m01 data]# scp -P22 -rp root@172.16.1.31:/data /data


ssh服务附带的sftp功能

ssh服务中有安全FTP功能,即通过ssh加密数据进行传输

windows客户端和linux服务器之间传输数据工具

1:  rz,sz(lrzsz)

2:  winscp  基于ssh,sftp

3:sfx(xshell)

4:sftp 基于ssh加密传输

5:samba,http,ftp,nfs

ftp工具:vsftp, proftpd, sftp


linux sftp客户端连接sftp服务器方法:

登录frp的方法就是sftp oldboy@172.16.1.31如果ssh端口为52113则登录命令如下:

sftp -oPort=52113 oldboy@172.16.1.31 #特殊端口sftp连接命令

sftp不支持目录,如果想上传需要打包。

put:把本地传递到远端哪里(上传)

get:把远程传递到本地哪里(下载)

wKioL1mRyLGh_eWyAAE2jHwYMYI356.jpg

wKioL1mRyQvR2jsAAAD7s4pNEh0572.jpg


windows中sftp连接:

wKioL1mRynvQ8rZgAAGW7szZ1zk448.jpg

1)put上传,后面要用“要上传的本地文件”

sftp> pwd           
/root
sftp> ls
anaconda-ks.cfg       install.log           install.log.syslog
sftp> put "D:\a.txt"
Uploading a.txt to /root/a.txt
  100% 0 bytes      0 bytes/s 00:00:00     
sftp> ls
a.txt                 anaconda-ks.cfg       install.log
install.log.syslog
sftp>

这样就把windows中D:\a.txt文件传到linux的root目录中了

2)get下载

wKiom1mRzQbjBQRVAABZIdlWd_c409.jpg

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1956271如需转载请自行联系原作者


sandshell


相关文章
|
17天前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
47 3
|
22天前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
126 7
|
6月前
|
安全 Linux Shell
Linux中SSH命令介绍
Linux中SSH命令介绍
169 2
|
2月前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
52 3
|
7月前
|
Ubuntu Shell Linux
使用sshpass工具通过SSH执行远程命令
`sshpass`是一个用于在脚本中自动输入SSH密码的工具 **在Debian/Ubuntu上安装sshpass:** ```bash sudo apt-get install sshpass ``` **在CentOS/RHEL上安装sshpass:** ```bash sudo yum install sshpass ``` **在Fedora上安装sshpass:** ```bash sudo dnf install sshpass ``` 安装完成后,你可以使用`sshpass`命令通过SSH执行远程命令。以下是一个示例: ```bash sshpass -p 'yo
698 0
|
4月前
|
安全 Linux Shell
SSH 命令完整实用指南 | Linux SSH 服务
【8月更文挑战第20天】
549 0
|
4月前
|
jenkins 网络安全 持续交付
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH 执行命令
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH 执行命令
270 0
|
7月前
|
存储 Linux 网络安全
在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)
SSH远程执行命令时遇到“命令未找到”问题,原因是Linux登录方式不同导致环境变量加载差异。解决方案:将环境变量写入`/etc/profile.d/`下的文件,或手动在命令前加载环境变量,如`source /etc/profile`。
656 0
|
7月前
|
监控 前端开发 安全
【专栏】介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理
【4月更文挑战第29天】本文介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理。在前端开发中,SSH用于部署项目、协同后端开发及服务器监控。文章还强调了使用密钥认证、配置别名及安全注意事项,并提醒开发者面对问题时如何解决。学习和熟练运用SSH是前端工程师适应复杂项目需求的关键。
142 0
|
网络安全 人机交互 数据安全/隐私保护