ssh 管理

什么是SSH

Secure Shell(缩写为SSH), SSH为一项创建在应用层和传输层基础上的安全协议, 主要使用在计算机远程登录。我们平常使用的场景主要有登录远程vps, git代码提交等。

为什么要管理SSH

这里我的场景是VPS越来越多了, 平常的时候都是手敲连接命令, 多了之后, 比较难记住。当切换了另一台电脑之后, 杂乱的ssh环境对工作效率尤为影响。

SSH登录

SSH的常用登录命令

ssh username@remote_host -p 9898

SSH的别名功能

SSH允许我们通过使用别名, 让我们脱离记住复杂命令的困扰。在.ssh目录下有一个config文件, 不存在则创建。它的写法如下

Host ALY254
HostName 122.168.1.254
Port 9898
User desmond
IdentityFile ~/.ssh/id_rsa

配置之后我们就可以通过别名访问

ssh ALY254

这样就能登录到122.168.1.254的服务器了。

自动登录的authorized_keys文件

.ssh目录下有个authorized_keys文件,作用是保存用户的公钥, 前面配置的IdentityFile是私钥, 这里是公钥。 我们只要把用户的公钥追加在这个文件后面, 那么拥有私钥的登录用户就是合法用户。

只有配置好了authorized_keys文件, 才能实现SSH的别名登录。

设置权限

chmod 600 authorized_keys
chmod -R 700 .ssh

ssh-copy-id

这个工具就是为了解决copy公约到远程服务器的authorized_keys的操作,事实上这个个脚本, 大概是这样的

ssh username@remote_host -p 9898 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

欢迎大家订阅雀观代码, 我将给你讲述, 中小企业程序员, 淘金路上的故事.



发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注