如何使用命令行工具ssh

ssh是一个远程连接协议,使用非对称加密,有效保障数据安全。

windows使用ssh进行远程连接可以使用xshell、putty,等工具进行连接,这里使用命令行工具。

  • Linux:自带了一个ssh连接工具,不需要下载安装了。
  • Windows:可以下载git for windows,携带了众多实用Linux命令。也可以到官网下载。除了安装位置其它默认就可以了。安装完成之后可以看到多了一个git bash,可以在里面输入linux命令。

然后输入:

ssh <远程主机的用户名>@<远程主机的域名或ip>

就可以连接上了。前提是远程主机已经启动了ssh服务器并且开放了连接端口(默认是22)。连接时可以带上-p参数来指定端口。之后会提示你输入密码。如果是第一次连接该远程主机,会看到有一串看上去像乱码的文字,这是输入yes就可以了。

每次连接都要输入密码真是太麻烦了!有没有什么方便又安全的方法呢?
当然有了,首先输入:

ssh-keygen -t rsa -C <注释文字>

生成用于ssh连接的公钥和私钥。第一个-t参数用于指定密钥类型,可省略;第二个-C参数用于指定一段注释文字,可省略。
敲下回车之后会提示你输入密钥文件的保存路径,如果默认回车就可以了。之后会提示你输入密码短语两次,如果不是需要特别安全的话可以直接回车。

之后就会在默认地址生成.ssh文件夹,其中id_rsa是私钥文件,用于和公钥配对,不可让别人知道;id_rsa.pub是公钥,需要放到远程服务器上。(文件名如果使用了其他的密钥类型会大同小异)。

之后执行命令:

ssh-copy-id -i <.ssh文件夹保存位置>/.ssh/id_rsa.pub <远程主机的用户名>@<远程主机的域名或ip>

就可以把公钥文件复制到远程主机上,需要你输入远程主机的密码。以后使用ssh命令的时候就可以不用输入密码了。

如果你经常使用远程连接,可能会发现远程主机时常过了一会不操作就动不了了,怎么样都动不了,这是一种安全机制,当然可以解决,只要在ssh的配置文件里配置就好了。(Linux:/etc/ssh/ssh_config;Windows:/etc/ssh/ssh_config,windows是git bash上的,具体位置取决于你的git安装位置)

在最后面加上

# 与远程主机保持心跳
TCPKeepAlive yes
ServerAliveInterval 30

其原理是每隔几十秒钟发送一次心跳包以维持连接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值