美文网首页
ssh常用配置

ssh常用配置

作者: tinychen | 来源:发表于2021-03-07 02:50 被阅读0次
image

本文主要记录了一些Linux系统下使用ssh指令的技巧和ssh的config文件简化ssh操作的过程。

1、设置权限

一般来说,每个用户都会在对应的家目录下生成一个.ssh文件夹,如tinychen用户则为/home/tinychen/.ssh,而root用户则为/root/.ssh。如果是手动创建的.ssh文件夹,还需要注意权限问题。一般来说.ssh文件夹的权限为700,私钥为600,公钥为644。

[/home/tinychen]# ls -lA | grep ssh
drwx------ 2 tinychen tinychen 4096 Sep 11 15:48 .ssh
[/home/tinychen/.ssh]# ls -l
total 8
-rw------- 1 tinychen tinychen 2610 Sep 11 15:48 id_rsa
-rw-r--r-- 1 tinychen tinychen  575 Sep 11 15:48 id_rsa.pub

2、指定密钥

对于密钥而言,一个用户可能会有多个密钥,如果需要在建立ssh连接的时候需要指定某个密钥可以使用-i参数

ssh -i /home/tinychen/.ssh/id_rsa tinychen@192.168.1.1

3、指定端口

如果ssh服务器的端口不是默认的22端口,则在连接的时候需要使用-p参数手动指定端口

ssh -p 23333 tinychen@192.168.1.1

4、多路复用

多路复用这个功能并不算是罕见的新功能,对于ssh也可以实现ssh连接的多路复用,即在和一台主机建立ssh连接之后,再次与这台主机建立连接的时候直接复用已有的ssh连接,就不需要再重复进行密码验证等各种操作,这种操作在ssh里面称之为ControlMaster。配置的方法很简单,我们只需要在每个用户对应的~/.ssh/目录下面新建一个config文件,再添加对应的配置:

Host *
# Host变量主要用于控制哪些主机会使用下面的配置
    ControlMaster auto
    # ControlMaster变量用于控制是否开启ssh的多路复用功能
    ControlPersist 600s
    # ControlPersist变量主要用于控制保持连接的时间,这里600s即为600秒(10分钟)
    ControlPath ~/.ssh/%r@%h:%p.socket
    # ControlPath变量用于存放复用连接所产生的socket文件的路径和命名方式

5、代理转发

ssh中的代理转发功能,名为agent forwarding,主要作用如下:

假设当前有两台服务器A和B,你从自己的电脑远程登录到服务器A,这时候想直接在服务器A上面登录到服务器B,但是服务器A上面没有能够登录到服务器B的key,此时只要开启代理转发功能,将自己电脑的key跟随ssh过程一起发送到服务器A,就可以从服务器A登录到服务器B了。

如何验证自己的配置是否生效呢?我们可以通过ssh-add -L命令来查看当前主机所拥有的key。

Host *
    ForwardAgent yes

6、保持连接

有些ssh服务端为了安全,在一定的时间内没有接收到来自客户端的操作,就会主动断开连接。想要延长这个时间我们可以设置客户端每隔一段时间就向服务器发送数据包来保持连接:

ServerAliveInterval 60
ServerAliveCountMax 60

同样地,我们也可以在服务器端添加相关的配置,一般都是在/etc/ssh/sshd_config文件中

ClientAliveInterval 60
ClientAliveCountMax 60

其中ServerAliveIntervalClientAliveInterval表示间隔时间,每隔60s发送一次;ServerAliveCountMaxClientAliveCountMax则表示发送的最大次数,最多发送60次。即在服务器端和客户端之间没有操作的时候重复发送60次,一共60次*60秒共计1小时后断开连接。

相关文章

  • 关于sshd的一些简单配置

    ssh免密登陆 sshd相关路径 sshd_config配置 ssh-keygen的常用命令形式 ssh服务配置

  • ssh常用配置

    本文主要记录了一些Linux系统下使用ssh指令的技巧和ssh的config文件简化ssh操作的过程。 1、设置权...

  • Git 常用命令速查

    Git 常用命令速查 配置SSH git config --global user.name "yourname"...

  • Git的使用和操作

    安装Git 配置Git用户名和邮箱 关于SSH Key 生成并使用SSH Key Git常用命令 1、代码的克隆操...

  • macOS登录ssh的超炫酷方法

    ​ssh配置 ssh config配置 ssh-config是使用openssh 的ssh config的功能,需...

  • mac环境下利用OSChina对OC项目进行版本控制

    浏览总纲1、配置并配置 SSH 公钥2、配置项目及连接状态3、下载远程项目4、常用仓库操作命令列表5、错误记录(持...

  • SSH常用配置文件

    pom.xml applicationContext.xml 3.applcationContext-action...

  • Storm | 集群部署

    集群部署 环境准备 ssh免密码登陆、zookeeper 部署、python 2.7+ 集群部署 常用配置 启动服...

  • 轻松的Git时间

    这里就记录了一些自己常用的Git命令,好记性不如烂笔头~ git-ssh 配置与使用 若执行ssh-add /pa...

  • Git关联远程仓库

    一、配置SSH KEY SSH KEY并非必须要配置的,只是配置了SSH KEY我们就不用账户密码提交。如果不配置...

网友评论

      本文标题:ssh常用配置

      本文链接:https://www.haomeiwen.com/subject/ythmfltx.html