标签 ssh 下的文章

你是不是已经厌倦了每次git push的时候每次都要输入用户名密码,使用下面的方法可以让你使用ssh协议通过密钥验证的方式让你得到解脱。

有两种修改方法

不过再实施前,请先准备好自己的密钥

ssh-keygen -t rsa -C "your_name"

然后登录https://github.com/settings/ssh,添加当前计算机的~/.ssh/id_rsa.pub公钥内容到github。

之后我们使用ssh [email protected]验证是否添加成功,如果返回以下内容,即代表添加成功!

Hi phpgao! You've successfully authenticated, but GitHub does not provide shell access.

下一步就是让我们的git使用公钥验证。

clone

保存你的最后一次修改并提交。

删除项目

使用下面的命令clone项目

# 采用ssh的方式克隆项目
# someaccount/someproject.git 中 some account为github用户名/someproject为仓库名

git clone [email protected]:phpgao/BaiduSubmit.git

修改https

git remote set-url origin [email protected]:someaccount/someproject.git

顺便提一下,老高的git push总是报warning: push.default is unset错误,今天终于知道为啥了。原来是版本兼容性的原因,低版本的git push如果不指定分支名,就会全部推送,而新版只会推送当前分支。

解决的办法也很简单,我们只需要明确指定应该推送方式即可,至于选择哪种方式,It's up to you.


# 全部推送
git config --global push.default matching

# 部分推送
git config --global push.default simple

SSH是管理VPS的重要途径,所以SSH经常会受到攻击,所以我们需要将SSH武装起来,保护我们VPS的安全。

SSH服务的配置文件位于/etc/ssh/sshd_config,我们的安全设置都是围绕此文件展开,所以修改前最好先备份一次,以免出现无法登陆的情况。

修改完不要忘了执行

service sshd restart

- 阅读剩余部分 -

自从使用mac以后,ssh连接总是超时成了老高的一个心病啊,只要一小会儿不动电脑,远程就失去相应,或者干脆直接提示broken pipe,然后断掉。现在终于有了算是能接受的解决办法。

方法一:直截了当砍掉法

~.,是的,你没有看错!这个组合命令就是主动断开ssh的命令,不行自己问问man。

方法二:修改配置文件

服务器和客户端每隔一定的时间会发一个KeepAlive请求,避免因为路由器或线路的限制而断线,例子中的60s可以因具体的环境改变。

针对服务器端

修改/etc/ssh/sshd_config,修改ServerAliveInterval一项,而ServerAliveCountMax表示如果失败重试的次数

ServerAliveInterval 60
ServerAliveCountMax 3

针对客户端

vi /etc/ssh_config
ClientAliveInterval 60
ClientAliveCountMax 3