Linux ssh 登陆

作者: ScottX | 来源:发表于2016-12-04 02:49 被阅读123次

    在之前的文章当中我们创建了Azure的Linux虚拟机,并且通过密码的方式进行了远程登陆。但是,由于在网络传输当中进行密码的输入,毕竟不太安全,而且每次连接的时候需要输入很长的机器名称。使用起来着实比较麻烦。下面介绍一下如何在Azure的虚拟机上创建用户,并且通过本地进行ssh 免密码登陆。

    连接到Azure的服务器,使用adduser 进行用户的创建。(之前有描述在linux上使用useradd和adduser添加用户的区别。)

    root@ScottUbuntu:~# adduser sshuser

    在输入密码和确认密码后,即完成了sshuser的添加。
    进行添加后,我们可以从本地通过如下的命令进行登陆。

    ssh sshuser@yourdomain.chinacloudapp.cn 

    系统会要求输入用户名和密码。

    输入后进行了登陆,但是这样的登陆方式实在不方便。那么我们需要使用到ssh的登陆方式了。

    首先我们需要在我们的系统上创建自己的公钥和私钥。公钥以.pub结尾,一般用于我们上传到服务器端进行验证。

    进入到~/.ssh. 目录。

cd ~/.ssh/

ssh-keygen -t rsa -b 2048 -C "sshuser@yourmail"

然后确定需要保存的rsa的文件名,并且输入passphase (这里强烈要求输入,有的教程里面直接让大家在这步不输入密码,这个是极度不安全的方式)

2.png

这个时候我们会在目录下生成2个文件,如下。

-rw------- 1 scottxiao staff 1.7K Dec 4 01:33 sshuser
-rw-r--r-- 1 scottxiao staff 418B Dec 4 01:33 sshuser.pub

使用ssh-copy-i 将我们的pub 公钥传到服务器上。

ssh-copy-id -i sshuser.pub user@yourdomain

注意:这里的user name 指的是你登陆的用户名,your domian指的是你的服务器地址。

成功的话,我们可以看到如下的提示。

3.png

由于刚才创建密钥的时候输入了密码,我们需要使用ssh-add 将我们的密钥保存一次。

  ssh-add sshuser_rsa
    Enter passphrase for sshuser_rsa: 
    Identity added: sshuser_rsa (sshuser_rsa)

之后直接使用 ssh username@domianname 即可登陆。

4.png

但是每次要记很长的domain名称,还是很不方便,那么我们一起来创建并配置SSH文件来解决这个问题。

touch ~/.ssh/config
vim ~/.ssh/config

配置文件如下:

# Azure Keys
Host sshuser
  Hostname scottubuntu.chinacloudapp.cn
  User sshuser
# ./Azure Keys
# Default Settings
Host *
  PubkeyAuthentication=yes
  IdentitiesOnly=yes
  ServerAliveInterval=60
  ServerAliveCountMax=30
  ControlMaster auto
  ControlPersist 4h
  IdentityFile ~/.ssh/sshuser_rsa

注: Host 表示你之后想要使用的服务器登陆简写, hostname表示服务器IP或者DNS,user 表示要登陆的用户名, IdentifyFile表示使用的密钥。
最后效果如下:

5.png

附上ssh-keygen 的说明
命令解释
ssh-keygen= 用于创建密钥的程序
-t rsa= 要创建的密钥类型,即 [RSA 格式](https://en.wikipedia.org/wiki/RSA_(cryptosystem)
-b 2048 = 密钥的位数
-C "ahmet@fedoraVMAzure" = 追加到公钥文件末尾以便于识别的注释。通常以电子邮件作为注释,但也可以使用任何最适合基础结构的事物。

相关文章

  • 暴力破解22端口获取meterpreter

    22端口是ssh远程登陆端口,我们常用ssh登陆远程电脑,在Linux中具体操作如: ssh root@172.1...

  • apline 系统常用操作

    [TOC] alpine Linux开启SSH远程登陆 /etc/ssh/sshd_config将 #Permit...

  • Centos 使用SSH 上传、下载文件

    需求场景 一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以...

  • 二、SSHconfig命令

    config方便我们批量管理多个ssh。config存放在 ~/.ssh/ 远程ssh登陆linux服务器 ss...

  • Linux无密码登陆及命令应答交互

    一、Linux无密码登陆 a.通过设置KEY登陆(推荐)生成密钥:ssh-keygen 安...

  • SSH 免密登陆

    Linux System Environment SSH Function1、远程登陆linux2、使用密码或密钥...

  • linux 命令

    ssh 查看正在进行的ssh链接 查看linux登陆日志 时区、时间、日期 查看当前时区 修改设置Linux服务器...

  • SSH的总结

    ssh的相关总结ssh登陆的过程非对称加密RSA登陆过程免密登陆linux相关文件及操作公钥与秘钥的保存格式用密码...

  • Linux 常用命令

    ssh命令 远程登录 scp命令 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆...

  • Day2--李晓芳

    linux登陆 terminal--ssh bio07@122.51.158.112--key:9959e9564...

网友评论

    本文标题:Linux ssh 登陆

    本文链接:https://www.haomeiwen.com/subject/hgxhmttx.html