SSH

Posted 你很棒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH相关的知识,希望对你有一定的参考价值。

(1)ssh基本介绍

1.ssh服务是加密协议,默认端口是22,协议版本是SSHv2,V1有漏洞
2.服务端: ssh服务,sftp服务
3.客户端: ssh命令,scp命令
4.服务器端组件
openssl:负责远程加密
openssh:负责远程连接
5.ssh服务认证类型
基于口令的安全认证
基于密钥的安全认证:客户端生成一对密钥,客户端把自己的公钥推送到需要访问的服务器端,客户端使用私钥加密数据,服务器使用公钥解密数据

(2)ssh配置优化

#vim /etc/ssh/sshd_config 
Port 33222                  //修改ssh的默认端口
PermitRootLogin no          //root用户禁止登陆
PermitEmptyPasswords no     //禁止空密码登录
UseDNS no                   //不使用DNS,解决ssh登陆慢的问题
GSSAPIAuthentication no     //解决ssh登陆慢的问题
sed -i ‘s/#UseDNS yes/UseDNS no/g‘ /etc/ssh/sshd_config
sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/g‘ /etc/ssh/sshd_config
egrep -i "(usedns|gssapiauth)" /etc/ssh/sshd_config
service sshd restart

(3)ssh客户端命令

1.ssh命令:远程登陆或执行命令

-p          //指定端口,如果是默认22号端口,可以不加
    ssh -p22 [email protected]              //远程登陆
    ssh -p22 [email protected] "ifconfig"   //不登陆远程主机执行命令

2.scp:传递文件

选项:
    -P          //指定端口
    -r          //拷贝目录的时候,如果想递归需要使用-r
    -p          //保持属性
scp -P22 -r /etc/ [email protected]:/tmp
例
scp -P22 -r /etc/ [email protected]:/tmp        //把/etc目录拷贝到31主机的/tmp目录下,/etc目录也拷贝过去了
scp -P22 -r /etc/* [email protected]:/tmp       //把etc目录下所有文件传递到31主机的/tmp目录下

(4)分发密钥

1.生成公钥和私钥

ssh-keygen -t rsa                           //交互式生成公钥和私钥
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa    //非交互式生成公钥和私钥

2.传递公钥

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]              //传递公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22 [email protected]"      //指定ssh端口传递公钥

3.免输入密码执行命令和传递文件

ssh [email protected] "/sbin/ipadd a"               //执行命令
scp -r /etc/* [email protected]:/tmp                //传递文件

以上是关于SSH的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数