scp的用法
Scp安全传输服务(Secure copy)是一种基于ssh协议的网络传输命令
scp命令用于在网络中安全的传输文件,
传输文件格式为:
**scp [参数] 本地文件 远程帐户@远程IP地址:远程目录。
scp [参数] 远程用户@远程IP地址:远程文件 本地目录**
scp /tmp/test.txt fakuy@ip:/tmp
scp fakuy@ip:/tmp/test.txt /tmp
参数 作用
-v 显示详细的连接进度
-P 指定远程主机的sshd端口号
-r 传送文件夹时请加此参数
-6 使用ipv6协议
配置sshd服务
需要来部署配置sshd服务程序,sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法——基于口令的安全验证,指的就是咱们一般使用帐号和密码验证登陆,基于密钥的安全验证,则是需要在本地生成密钥对,然后将公钥传送至服务端主机进行的公共密钥比较的验证方式,相比较来说更加的安全。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中
sshd服务配置文件中重要的参数包括有:
Port 22 默认的sshd服务端口。
ListenAddress 0.0.0.0 设定sshd服务端监听的IP地址。
Protocol 2 SSH协议的版本号。
HostKey /etc/ssh/ssh_host_key SSH协议版本为1时,私钥存放的位置。
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置。
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置。
PermitRootLogin yes 设定是否允许root用户直接登录。
StrictModes yes 当远程用户私钥改变时则直接拒绝连接。
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登陆(很不安全)
先咱们需要使用vim文本编辑器打开sshd服务的主配置文件,然后将第48行#PermitRootLogin no参数前的#号去掉,并将yes改成no,这样就不再允许root用户远程登陆,为使配置生效,重启ssh服务
systemctl restart sshd 或是 service ssh restart
安全密钥验证
包括有私钥和公钥之分,在日常工作中如果担心传送的数据被他人监听截获到,就可以在传送前先使用公钥进行加密处理,然后再进行数据传送,这样只有掌握私钥的用户才能解密这段数据,除此之外其他人即便截获了数据内容一般也很难再破译成明文信息。总结来说,日常生产环境中使用密码进行口令验证终归存在着被骇客暴力破解或嗅探截获的风险,如果正确的配置密钥验证方式,那么一定会让您的sshd服务程序更加的安全。
➜ ~ $ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fakuy/.ssh/id_rsa): /home/fakuy/.ssh/sshd_rsa
Enter passphrase (empty for no passphrase):输入密匙密码或空着
Enter same passphrase again: 输入密匙密码或空着
Your identification has been saved in /home/fakuy/.ssh/sshd_rsa.
Your public key has been saved in /home/fakuy/.ssh/sshd_rsa.pub.
The key fingerprint is:
a6:61:99:7f:be:cf:aa:d5:98:ac:c2:b7:08:bb:ef:bd fakuy@debian
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| |
| o |
| =.S |
| . =o |
| . .o... |
| o o o+.. |
+*B++E=o |
---|
接下来上传密匙到服务器
➜ ~ ssh-copy-id 118.89.53.41
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
fakuy@118.89.53.41's password: 输入密码
Number of key(s) added: 2
Now try logging into the machine, with: "ssh '118.89.53.41'"
and check to make sure that only the key(s) you wanted were added.
上传成功,现在就可以直接输入ssh命令登录服务器,还不用输入密码
同样,用scp命令传文件不输密码