一般连接服务器都会借助类似 SecureCRT 这一类的连接工具,因为可以记住密码,那么如果想用 Terminal 连接服务器,同时又不想输入密码应该如何操作
更多精彩
- 更多技术博客,请移步 IT人才终生实训与职业进阶平台 - 实训在线
相关网址
-
SSH连接服务器+让服务器记住密码及IP - sunyao_123的博客 - CSDN博客
- 具体内容是从这边博客学到的,不过里面写的有点乱,而且有一个点写错了
实现方式
在本地生成公钥秘钥
- 在终端输入
ssh-keygen -t rsa
即可根据提示生成本地公钥密码,如下图- Enter passphrase 提示输入的密码用于加密公钥秘钥
- 如果输入了密码,在配置好连接方式后,对服务器发起连接请求时,虽然不会提示输入服务器密码,但会需要输入此密码
-
如果直接跳过,不输入密码,对服务器发起连接请求时,则可以直接连接,不需要输入任何密码
image
在本地配置服务器信息
- 根据上图提示可以知道公钥密码生成后存放的目录是
/Users/asing1elife/.ssh/id_rsa
,如下图-
asing1elife 是自己的用户文件夹名称
image
-
asing1elife 是自己的用户文件夹名称
- 前往上述目录,输入
vi config
编辑待连接的服务器配置,如下图-
Host 是服务器名称,如果你想通过输入
ssh testServer
就直接连接服务器,那么这里的名称就应该输入 testServer ,我这里为了保持服务器信息的明确区分,直接使用的 IP - HostName 是服务器 IP 地址
- User 是进行服务器连接的服务器用户
- Port 服务器端口号
-
IdentityFile 之前生成的本地秘钥存放路径,前面参考的文档中这个地方就写错了
image
-
Host 是服务器名称,如果你想通过输入
前往服务器打开 RSA 连接许可
- 登录服务器,输入
vi /etc/ssh/sshd_config
,编辑服务器 SSH 连接配置文件,找到下图中的内容-
前三个选项默认是被注释掉的,删掉注释即可打开配置
image
-
将本地公钥内容添加到服务器的公钥列表中
- 在本地终端中输入以下内容,可将本地公钥内容传输到服务器的公钥列表中
- 这里输入目录结构的是,没有提示,需要完全手工输入
- authorized_keys 不是目录,而是一个文件
scp /Users/asing1elife/.ssh/id_rsa.pub root@192.168.7.8:~/.ssh/authorized_keys
- 传输完成后登录服务器,输入
cat ~/.ssh/authorized_keys
就可以看到里面有公钥内容,说明配置已经完成了 - 现在再本地终端中输入
ssh 192.168.7.8
就可以直接登录指定服务器- 如果之前的配置中有配置
passphrase
,则会提示输入该密码,注意这里要求的不是服务器密码,而是之前自己配置的公钥秘钥密码
- 如果之前的配置中有配置
网友评论