ssh免密登陆远程机器

ssh免密登陆远程机器
1.ssh的用户配置文件config管理ssh会话,我有这样的需求就是,因为需要ssh连接到服务器,然后每次需要输入好大一长串的信息
2.而且连接到一台服务器后,还可能跳转到另外一台服务器,而且每次还需要输入密码,所以感觉非常的麻烦。
3.为了解决这个问题,我用上了ssh中的config配置文件

说明

1.如果觉得每次输入ssh 用户名@IP IP不是很好记住,可以配置一下hostname

2.vim /etc/hosts

#axure-qax
ip地址 别名
10.10.10.10 dev
10.10.10.11 test

3.以后登陆dev就可以 
ssh root@dev即可
密码登陆
ssh username@hostname(或者ip) -p port (端口可省略 默认22)

ssh root@39.105.111.* -p 22
然后输入密码
配置密钥对登陆
1.~/.ssh文件
  如果本机或者远程机器没有.ssh文件 mkdir -p ~/.ssh文件即可


2.生成本机密钥(如果有id_rsa.pub文件不需要重新生成)
  ssh-keygen -t rsa   #然后一直回车就可以了
  或者
  ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 直接自动生成


3.拷贝本地公钥到远程机器
  cd ~/.ssh
  scp -i ./id_rsa.pub root@39.105.111.*:~/.ssh

4.将拷贝之后的id_rsa.pub内容添加到.ssh/authorized_keys里面(如果不存在,那么就创建一个) 
  cat id_rsa.pub >> .ssh/authorized_keys

5.修改远程机器的文件权限
  chmod 700 ~/.ssh
  chmod 600 ~/.ssh/authorized_keys

   chmod 700和chmod 600是因为某些特定的linux版本需要.ssh的目录为可读写执行,authorized_keys文件的权限为只可读写。而为了保证安全性,组用户、所有用户都不可以访问这个文件。

6.ssh root@39.105.111.* 就不需要输入密码了
密钥登陆
ssh -i 远程机器的pem文件 username@hostname(或者ip) -p port (端口可省略 默认22)
ssh -i dev_test.pem root@39.105.111.* -p 22

配置config文件登陆
1.先在本机.ssh/confign中配置,如果没有config,创建一个,然后将下面的(别名,主机名,端口,用户名替换即可),端口如果默认22可以不要,删除那行。 
Host 别名
    Hostname 主机名
    Port 端口
    User 用户名
    IdentityFile 验证密钥名称
Host dev
	Hostname 39.105.111.*
	User root
	IdentityFile /Users/lll/.ssh/dev_test.pem

Host pre
	Hostname 39.105.111.*
	User root1
	IdentityFile /Users/lll/.ssh/pre_test.pem
 //说明:.pem文件要事先存入指定目录,这是一个绝对路径 最后一个是文件名
1.pem文件权限如果不够,就chmod 400 dev_test.pem 
2.ssh dev即可自动登录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值