免密登陆教程

通过命令行连接远程主机时,通常要输入用户名加上主机 ip 的方式,尽管有一些图形化程序方便我们远程连接,但往往我们需要在连接服务器后进行一些命令行终端的继续操作(当然这个也同样有模拟终端的方式,但我们更倾向于一步走,
请牢记:
能用一行命令解决的不用两行
能用一个字符解决的不用两个
),这里介绍三种方式设置快速连接的命令。

1.修改 ssh 配置,命名主机

cd ~/.ssh
vi config

添加如下参数

HostName ipAddress
User userName
Port port

这样我们就可以通过 ssh hostName 进行连接

2.给命令行起别名

一个班级有 50 个人,每个人都有不同的名字,要记住这些人的名字很困难,但是如果让每个人都对应 1-50 的一个数字,我们就可以快速的定位一个单位(让计算机建立映射关系是很简单的事情)。

如我们想简化 'ls -all',来列出文件的所有内容,可以通过
alias aliasName ='ls -all' 来修改,如我想通过 ll 来等价'ls -all',便可以通过如下命令 alias ll ='ls -all' 来实现,这在我们重复的敲入一些长命令的时候是非常有用的。

我们可以用 alias sshG ='ssh root@ipAddress' 来重命名我们的 google 服务器连接,这样每次输出 sshG 再输入密码便可以了,当然,免输入密码的原理也是类似的,但是最好还是要手动输入密码确认一下。

通过配置用户根目录下的 .bash_aliases 来实现,以后在别的机器登录的时候只要将这个文件拷贝过来就可以了(将自己的配置放到诸如 github 上,需要的时候直接 pull)。

具体命令:
vi ~/.bash_aliases
在这里添加你要自定义的命令
格式如下:
alias sshG='ssh root@gopherinchina.com'
(至于为什么每一行前面都要加个 alias 这种重复的操作,我不知道:))
update config
source .bash_aliases

3.脚本

这个就很好用,单用来建立连接似乎是有些大材小用了。
当我们在命令行输入'ls'时,本质上我们是启动了一个名为 ls 的程序。这里我们仿照这种方式,通过 sh 建立一个可执行程序,在这个可执行程序的内部我们继续执行一系列的操作。
新建 sshG.sh 文件,在文件中添加如下内容

Host data1
  HostName 101.37.246.151
  Port 22
  User bigdata
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值