@JunQiu
2018-09-18T13:05:21.000000Z
字数 1868
阅读 2017
summary_2018/07 net linux
## 命令get file //下载,不支持目录put file //上传,不支持目录mget //下载多个,支持通配符mput //上传多个,支持通配符!cmd //执行外面命令lcd //切换外面路径
### ssh登陆过程(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。### 中间人攻击:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。### 登陆方式# 口令登陆$ ssh user@host# 公匙登陆所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。// 生成自己的公匙ssh-keygen// 生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥// 将公钥传送到远程主机host,远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。ssh-copy-id user@host// 公钥的保存过程$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub// 命令ssh user@host //本地和远程用户名一样时:ssh @hostssh -p 2222 user@host //-p指定端口,默认22
# 命令格式scp [参数] [原路径] [目标路径]-1 强制scp命令使用协议ssh1-2 强制scp命令使用协议ssh2-4 强制scp命令只使用IPv4寻址-6 强制scp命令只使用IPv6寻址-B 使用批处理模式(传输过程中不询问传输口令或短语)-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)-p 留原文件的修改时间,访问时间和访问权限。-q 不显示传输进度条。-r 递归复制整个目录。-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。-l limit 限定用户所能使用的带宽,以Kbit/s为单位。-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,-P port 注意是大写的P, port是指定数据传输用到的端口号-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。// 本地到远程$scp local_file remote_username@remote_ip:remote_folder$scp local_file remote_username@remote_ip:remote_file$scp local_file remote_ip:remote_folder$scp local_file remote_ip:remote_file// 远程到本地本地复制到远程的命令后面2个参数互换顺序就行
