使用ssh登陆服务器

工作中,需要经常登陆到开发机上,一般我们输入

1 ssh [email protected]

之后,会提示输入密码,即可完成登陆。

每次都输入这么多,太麻烦,我用如下方法快速方便地登陆:

第一步,先省去输入密码操作,方法如下:

在自己的机器上使用ssh-keygen生成一对公钥和私钥

1 ssh-keygen -t rsa -C ‘your email address‘

按照提示,默认会生成 ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub

然后我们需要将公钥id_rsa.pub添加到服务器的authorized_keys,这样,就可以免密码登陆了。

用老办法登陆到服务器上,在服务器上如下操作

1 cd ~/.ssh
2 vim authorized_keys

将上步在本地机器上生成的id_rsa.pub内容附着到服务器上的authorized_key文件后面(如果原文件有内容的话),保存。

这里,还需注意服务器上.ssh文件夹及authorized_key这个文件的访问权限。

1 chmod 600 authorized_keys
2 chmod 700 .ssh

一切ok,现在使用ssh [email protected],不需要输入密码了,直接就登陆进去了!

第二步,省去输入[email protected],此步骤在本地机器上操作

方法较多,可以在.bashrc中添加alias;也可以写一个.sh脚本文件,执行一下该文件就行。

但是这里,我使用ssh config方法来完成。具体如下

1 cd ~/.ssh
2 vim config

在config文件里,添加如下代码

1 Host dev
2     hostname example.com
3     user username

现在在console试试

1 ssh dev

就可以直接成功登陆了!

因为上面第一步,我们在服务器的authorized_keys添加了自己的公钥,所以登陆很方便;但有些时候,我们没有权限做这个事情,比如登陆公司relay机等,还是得输入密码。一个console不够用,我们想新开一个console tab(如我用iTerm, command+T),这个时候我们在新窗口里面ssh login时,又提示输入密码,很烦。下面的办法可以解决!

在本地机器上,还是打开.ssh/config文件,添加如下几行

1 Host *
2     ControlPath ~/.ssh/master-%[email protected]%h:%p
3     ControlMaster auto

这样,我们看到,当第一次连上服务器后,就会在.ssh下生成一个[email protected]:port的文件,此后,建立同样的新连接会共享这个文件,不需要输入密码了。

经过这些配置,现在登陆起来是不是方便多了?

时间: 2024-10-01 09:03:15

使用ssh登陆服务器的相关文章

SSH登陆服务器慢的问题解决

SSH登陆服务器慢的问题解决: SSH慢的原因(常见) 故障现象: 执行ssh [email protected]反应非常慢,等很久的时间才连接进去 故障分析: 一般是hosts文件的127.0.0.1和主机名不对应导致的 解决方法: 三种可能情况: 服务器上的/etc/resolv.conf 中有错误的DNS地址,或为内网地址或为不可用DNS地址 sshd_config配置文件中使用了UseDNSyes (若是注释的,默认也是启用的) 用UseDNS no sshd_config配置文件中使用

Mac系统下实现无密码ssh登陆服务器

公司所有的办公电脑都是macbook,由于本屌丝之前没用过mac的电脑(穷逼一个),刚开始使用的时候感觉和windows差别很大,不过使用了一段时间以后真的发现这个系统使用起来实在是太方便了,而且最令我感到舒服的是mac系统和linux系统的命令差不多,毕竟师出同门嘛. 闲话少说,由于运维需要时不时的登陆服务器,搞个虚拟机什么的,ssh就是经常要使用的,但是每次ssh上去的时候都需要输入一大串密码,公司服务器密码又那么复杂,搞得我实在是头很大,所以想在自己的电脑上设置个ssh秘钥,从而实现不用每

拒绝恶意同构ssh登陆服务器脚本

#!/bin/bash #Deny specified IP access #IP:who is fail to login sever SECURE_LOG=/var/log/secure #通过secure文件进行过滤得出登陆密码失败超过15次的IP地址 IP_ADDR= `cat /var/log/secure | grep fail | egrep -o '([0-9]{1,3}\.){3}([0-9]{1,3})' | sort -nr | uniq -c | awk '$1 >= 1

ssh登陆失败问题记录

用ssh登陆服务器时,出现如下报错 出现原因: ssh登陆时记录下了上次公钥,不一样则登陆失败,防止攻击 解决方案: 清除公钥 ssh-keygen -R 服务器地址

Linux 系统安全配置 Debian => 禁止root SSH登陆+配置SSH Key+配置iptables

Linux 系统安全配置 Debian => 禁止root SSH登陆+配置SSH Key+配置iptables 当我们安装完Linux系统作为服务器后,总有一系列的安全配置需要进行.特别是当你的服务器Ip是对外网开放的话.全世界有很多不怀好意的人,不断试图穷举你的root密码,尝试登陆.那么为Linux服务器增加一些安全措施,是很有必要的.本文基于Debian 9.5. 本文读者需要有一定的linux基础,有一定的网络与英语基础.知道如何使用nano/vim编辑器.不过总体而言,本文是为初级用

ssh免密码登陆 - 服务器建立信任关系

假设机器A,B,C,要建立A为主,可以免密码直接ssh进入B,C.操作如下: 假设只用用户yimr建立信任,则使用yimr用户登陆主机A,执行如下操作: 产生公钥和私钥 ssh-keygen -t rsa 然后,在/home/用户/.ssh目录下,产生id_rsa, id_rsa.pub文件 将公钥复制到BC节点 scp .ssh/id_rsa.pub B:/home/用户名/.ssh/A.pub 进入BC节点,将公钥放在authorized_keys文件中 cat .ssh/A.pub >>

服务器之间免密码ssh登陆

配置服务器f1(192.168.1.1)与服务器f2(192.168.1.2)之间免密码ssh登陆 一.首先,配置服务器主机名为f1.f2 1.更改/etc/sysconfig下的network文件,在提示符下输入 vim /etc/sysconfig/network,然后将HOSTNAME的值改为             想要设置的名称:f1. 2.更改/etc下的hosts文件,在提示符下输入vim /etc/hosts,然后将localhost.localdomain改为f1,并配置f1与

SSH登陆阿里云服务器出现Permission denied (publickey)错误解决方案

操作环境: 操作系统:Mac10.11.5 阿里云服务器:Ubuntu16.04 远程连接:SSH 注:首先我们已假设你已经自己生成了SSH秘钥,并已经配置到阿里云.绑定了自己的云服务器. 但是后来发现原本好使的SSH再次登陆服务器时却提示:Permission denied (publickey).的错误.解决办法是用 ssh-add privateKey ssh-add 永久将私钥添加到 Keychain 我们配置完SSH之后执行 ssh-add privateKey 将 SSH 的私钥添加

ssh无密码登陆服务器

网上该类教程很多,但还是记录下,方便以后查询的时候使用. 两台服务器,内网ip分别是: 172.16.3.91 (本地机) 172.16.3.92 (远程机) 现在想在本地机上通过ssh 172.16.3.92登陆到远程机而不需要密码. 1.在本地机上用ssh-keygen 创建公钥私钥. [[email protected] ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to