如何免密登陆服务器

2018-11-23  本文已影响34人  潘杉杉_06_03

mac如何链接服务器

windows 上如果要链接服务器可以通过 xshell 和它附带的 xftp 来很方便的链接,最近域名备案通过了,也用上了 mac 如何像 windows 那样方便的操作服务器是我要解决的第一个问题。

起先在 App Store 上搜了个免费的工具虽然能用ssh连上但发现没有ftp的功能,后来知道了 mac 的终端自带链接服务器的功能:

ssh 用户名@ip -port 

既然 mac 自带那也就没必要浪费 mac 金贵的磁盘空间了,果断删掉刚下的免费软件。

用什么代替xftp

ftp 的功能我目前用的是 ForkLit 体验不比 xftp 差,而且还是在 App Store 上直接下载的免费软件。

这让一来我的电脑能正常操作服务器了,但是总感觉哪里有点不对----每次都要输入密码以及要记住服务器 ip 地址。

在网上搜了下发现 mac 有一个前往服务器功能可以保存服务器 ip 但是用户名又是默认的 mac 用户名和我的阿里云服务器对不上,真是醉了,折腾好久之后找到了一个终极解决方案---免密登陆。

超越 xshell 的免密登陆

之前只用过 ssh 链接 git 没想到还能用来链接服务器

好了废话不多说直接上操作步骤

1 生成 id_rsa.pub

ssh-keygen -t rsa -C "yourEmail" 

这个命令会生成公钥和私钥我们需要把公钥( id_rsa.pub )弄到服务器的 ~/.ssh/authorized_keys 文件内.

cd ~/.ssh

vi id_rsa.pub

复制一下。

2 登陆服务器

command+z+回车 呼出终端

ssh root@xxx.xxx.xxx.xxx

输入密码登陆成功

cd ~/.ssh

vi authorized_keys #没有这个文件的话先用 touch authorized_keys 创建再,执行这条命令。

将输入法调为美式键盘

o 键进入编辑状态-粘贴

按下 esc

shift + ; 输入:

然后接着输入 wq

(:wq)保存并退出编辑状态

最后一步使用ssh进行验证和服务器别名

打开本机终端

cd ~/.ssh

touch config # 已经存在的话直接用 vi 编辑

vi config

语法如下

Host *
  UseKeychain yes
Host serverAlias
  HostName xxx.xxx.xxx.xxx
  User userName

例如

Host *
  UseKeychain yes
Host server1
  HostName 148.157.254.111
  User root
  
Host server2
  HostName 148.157.254.112
  User root

大功告成

下次要登陆服务器只需

ssh server1

可能要用到命令:

vi: 在 liunx 命令行 和 mac 终端以及 gitbash 中可以使用,作用是查看可编辑文件

touch:在 liunx 命令行 和 mac 终端以及 gitbash 中可以使用,作用是新建空文件

cd:进入一个具体的目录 例如 cd ~ 就是进入根目录。 ../ 上级目录 ./file 同级目录的file文件夹

ls:查看当前目录下的文件和文件夹

pwd:查看当前目录

链接:

shell命令

ssh百度百科

上一篇下一篇

猜你喜欢

热点阅读