服务器sshd配置

#vim /etc/ssh/sshd_conf
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

#/etc/init.d/sshd restart

windows生成密钥

第一种方法:管理员权限运行 powershell

ssh-keygen -t rsa

然后在“C:\Users\username\.ssh”  查看生成的文件


第二种方法:Xshell

打开Xshell->工具->新建用户密钥生成向导(W)

RSA加密方式,2048位密钥长度->输入公钥名称(wangs_rsa),密钥密码,下一步

公钥格式(ssh2-openssh)->保存文件,将公钥保存到本地->完成

这是会弹出会话框,里面有你刚刚生成的私钥(与密钥名称相同),选中私钥,点击导出,将私钥导出到本地

现在,本地就有一对对应公钥和私钥了(wangs_rsa和wangs_rsa.pub)

 

windows远程windows

登录目标windows服务器

1、下载、安装openssh软件

https://github.com/PowerShell/Win32-OpenSSH/releases

2、创建 “C:\Users\username\.ssh”目录和 “authorized_keys”文件(账户密码远程一次之后,就会生成一个账户目录)

 

3、把客户端windows上生成的“angs_rsa.pub”中的内容拷贝到authorized_keys中

4、修改秘钥权限

icacls.exe "C:\Users\username\.ssh\authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"

5、修改openssh的配置文件

#允许公钥授权访问,确保条目不被注释
PubkeyAuthentication yes

#授权文件存放位置,确保条目不被注释
AuthorizedKeysFile    .ssh/authorized_keys

#可选,关闭密码登录,提高安全性
PasswordAuthentication no

#注释掉默认授权文件位置,确保以下条目被注释
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

 



windows远程Linux

xshell登录目标Linux服务器
将公钥id_rsa.pub上传到目标服务器用户下.ssh目录

如果没有可以新建,注意权限

#mkdir .ssh
#chmod 700 .ssh
#cat id_rsa.pub >> authorized_keys
#chmod 600 authorized_keys
新建登录,输入用户名后,SSH身份验证时选择public key,选择刚刚生成的私钥,如果私钥设置密码,输入密码,否则可即可登录

 

 


linux 密钥生成

在客户端执行
#ssh-keygen -t rsa

一路回车,根据提示,可以设置名称添加密码等,最后生成一对私钥和公钥

 将生成的公钥拷贝到服务端

方法1:

 

 ssh-copy-id  -i  /root/.ssh/id_rsa.pub  root@218.111.89.222

如果远程端口不是默认的,则

 ssh-copy-id  -p 端口  -i  /root/.ssh/id_rsa.pub  root@218.111.89.222

 

方法2:

将公钥id_rsa.pub上传到目标服务器用户下.ssh目录

如果没有可以新建,注意权限

mkdir .ssh
chmod 700 .ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

 

注意:

服务器端的 authorized_keys这个只能是600权限

 

客户端使用私钥远程服务端

第一次需要私钥的路径,第二次连接就不用了

ssh -p 端口 -i /root/.ssh/id_rsa root@218.111.89.222

ssh -p 端口  root@218.111.89.222

 

 本地主机秘钥远程阿里云ECS

秘钥名称test.pem
1、上传test.pem到本地主机的主目录下的 .ssh文件夹中,如果不存在,则创建
mkdir -p ~/.ssh
2、设置 .ssh目录的权限为仅当前用户可读、写、执行
chmod 700 ~/.ssh
3、设置 test.pem密钥文件本身的权限为仅当前用户可读可写
chmod 600 ~/.ssh/test.pem
4、在终端中使用 ssh命令进行连接,基本格式如下
ssh -i ~/.ssh/test.pem -p 10022 <username>@<server_ip_address>
5、(可选)创建SSH配置文件简化操作,如果您需要频繁登录,每次输入一长串参数非常麻烦。您可以创建一个SSH客户端配置文件来简化操作
vi -b  ~/.ssh/config

Host linkyou-2  # 为您服务器起一个简短的别名,可自定义
    HostName 47.xx.xx.xx  # 替换为您的ECS公网IP
    Port 10022                # SSH端口
    User root               # 替换为正确的登录用户名(如root, ubuntu)
    IdentityFile ~/.ssh/test.pem  # 私钥文件的路径
同样,给配置文件设置正确的权限    
chmod 600 ~/.ssh/config    
在终端中使用 ssh命令进行远程连接
ssh linkyou-2

 

 

 

 

 

在实例内添加或替换密钥对

https://help.aliyun.com/document_detail/51793.html

posted on 2020-07-23 17:59  小油2018  阅读(883)  评论(0)    收藏  举报